2016-08-08 3 views
1

私のフォーラム用にこのスクリプトを作成しました。ユーザがクラスstyle113の上を飛ぶ場合、ブラウザにオーディオファイルを再生させる方法を教えてもらえますか?彼らに警告が表示されたらOKを押すと、"audio is about to play"という警告が表示されます。どうすればこれを達成できますか?ホバリングでオーディオファイルを再生する

my script has been removed 
+0

私の答えはあなたを助けましたか?その場合は、それを受け入れる(回答の横にある緑色のチェックマークをクリックして)ことを忘れないでください。そうでない場合は、より多くのヘルプをリクエストしてください。 –

答えて

0

あなたは、次のコードを使用することができます:

それは何
var elems = document.getElementsByClassName("style113"); 
for(i in elems) { 
    elems[i].addEventListener("mouseover", function() { 
     if(confirm(" %%% CONFIRMATION MESSAGE %%% ")) { 
      // %%% CODE TO PLAY SOUND %%% 
     } 
    }); 
} 

:ここで私はこれまで持っているスクリプトです

  1. ループがクラスの要素の上style113
  2. 追加イベントへの各要素へのイベントリスナーmouseover
  3. (正のボタンがクリックされた場合)confirm()メソッドはtrueを返した場合、イベントリスナー、confirm()ポップアップが作成されますが、その後、音

Working example on JSFiddle

を果たし、
  • (2つのボタン、確認するために1とキャンセルするものを持っています)

    UPDATE下のコメント欄でOPの要求ごととして、あなたはforループの中で、あなたの特定のコードにこのコードを追加することができます。

    document.getElementsByClassName('style113')[x].addEventListener("mouseover", function() { 
        if(confirm("audio is about to play")) { 
         // %%% CODE TO PLAY SOUND %%% 
        } 
    }); 
    

    また、より良いインデント方法を使ってソースコードをクリーンアップすることをお勧めします。また、DOMリクエストを多すぎないように(例:反復document.getElementsByClassName())、代わりにcaching DOM requestsとしてください。

  • +0

    どこに置いたらいいですか?どの行 – ThePlacid

    +0

    @ ThePlacid私はその情報を含めるために私の答えを拡大します。ちょっと待って。 –

    +0

    @ ThePlacid Edited。 'document.getElementsByClassName()'で始まる他のすべての行と同様に、イベントリスナー(下位コード)を両方のループに配置することができます。 DOMリクエストについての私のコメントも見てください。 –

    関連する問題