http://m-karaoke.yahoo.co.jp/index.php?itemid=636
ここにあるのは動画ですが、質問したいことは字幕をこの動画のように一文字ずつ色を変えていきたいのですが、方法論としてはどんなのがあるでしょうか?
候補として上がっているのはjavascriptとactionscriptです。
文字のデーターはPHPを介してデーターベースに保存しています。
No.1ベストアンサー
- 回答日時:
<html>
<head>
<style>
.fcscol{color:white; background-color:#f00}
.blrcol{color:green}
.defcol{color:#880}
</style>
</head>
<body>
<p>字幕?</p>
<div id="mess"></div>
<script>
setDisplayString('mess', 'あいうえおかきくけこ', 'defcol', 'fcscol', 'blrcol', 500)
function setDisplayString(elementId, str, css0, css1, css2, wtime){
var element = ( typeof( elementId ) == 'string' )? document.getElementById( elementId ): elementId;
for( var i=0,m=str.length; i<m;i++){
var newobj = document.createElement('span');
newobj.appendChild( document.createTextNode( str.substr( i, 1) ) );
newobj.className = css0;
element.appendChild( newobj );
}
this.elements = element.getElementsByTagName('span');
this.css1 = css1;
this.css2 = css2;
this.cnt = 1;
this.elements[0].className=css1;
this.tmid = setInterval((function(f_){ return function(){ f_.go.call(f_);}})(this), wtime);
this.go = function(){
if(this.elements.length>this.cnt){
this.elements[ this.cnt ].className = this.css1;
}
var tmp = this.cnt-1;
if(tmp>-1){
this.elements[ tmp ].className = this.css2;
}
this.cnt++;
if(this.cnt>this.elements.length) clearInterval( this.tmid );
}
}
</script>
早速試させてもらいました。
ばっちり作動しました。
わざわざ全文、掲載してくれてありがとうございます。
この方法でやってみます。
No.2
- 回答日時:
訂正
setDisplayString('mess', 'あいうえおかきくけこ', 'defcol', 'fcscol', 'blrcol', 500)
を
new setDisplayString('mess', 'あいうえおかきくけこ', 'defcol', 'fcscol', 'blrcol', 500)
とりあえず、一度に複数の字幕の変更ができると思います
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・人生のプチ美学を教えてください!!
- ・10秒目をつむったら…
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・【大喜利】【投稿~9/18】 おとぎ話『桃太郎』の知られざるエピソード
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
JavaScript を使ってpkゲームを...
-
<a>タグのテキストを取得
-
ActiveXobjectが作成できない
-
モーダルダイアログウィンドウ...
-
javascript 特定のタグのidの存...
-
「nullまたはオブジェクトでは...
-
DIV内のDIV要素を移動する。
-
任意の座標をクリックさせるには
-
RadioButtonListの表示制御
-
addEventListenerで
-
DOMMouseScrollを使って特定のI...
-
イベントに適切な値が伝わらない
-
同じIDで定義した要素の配列を...
-
C#OpenCv V4にのエラーに関する...
-
functionから別のfunctionを実...
-
ジェネレーターの作り方
-
ASP.NET MVCでObjectをjsに渡す
-
window.openでタイトル名の指定
-
undefinedを表示させない方法は...
-
jspからjavascriptの変数引継ぎ
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ActiveXobjectが作成できない
-
<a>タグのテキストを取得
-
重複しないくじの作り方がわか...
-
任意の座標をクリックさせるには
-
javascriptでCSVを呼出しvlookup
-
innerHTML実行後のイベント
-
HTML:Tableタグに対し、JavaScr...
-
onchangeイベントを使ってspan...
-
WordPressのコンタクトフォーム...
-
appendChildがieだとできない??
-
配列の大括弧と丸括弧はどう違う?
-
JavaScriptでオブジェクトを取...
-
【Tabキー】特定の範囲内だけで...
-
div要素内の全input要素をdisable
-
問題はbind の付いたリスナーを...
-
モーダルダイアログウィンドウ...
-
テキストボックスがブランクの...
-
javascript 特定のタグのidの存...
-
日本語入力の禁止
-
javascriptで編集可能不可能の...
おすすめ情報