0

右上の水素などの要素をクリックすると、中央の大きな div でビデオが再生され、水素に関する情報が表示されます。ローカルで動作するようになりましたが、オンラインで動作させることができません。どんな助けでも素晴らしいでしょう。

ここに私のプロジェクトへのリンクがあります http://travismichael.net/periodic_elements/

ここに私のサイトのスクリプトがあります

<script type="text/javascript">
$(document).ready(function() {


$('div.video').hide();

$('.icon').click(function(){
    var id=$(this).data('id'),
        thisDiv=$("div.video[data-id='" + id +"']"),
        thisVideo=$("div.video[data-id='" + id +"']").find('video');

    $('video').each(function() {
        this.pause();
        this.currentTime = 0;
    });

       $('div.video').not(thisDiv).fadeOut('fast');

       thisDiv.fadeIn();      
       thisVideo.get(0).play();   
    });

});
</script>
<script type="text/javascript">
$("#periodictable td").hover(function() {
      $(this).stop().animate({opacity: "1"}, 'fast');
    },
    function() {
      $(this).stop().animate({opacity: ".7"}, 'slow');
    });
</script>
4

2 に答える 2

1

エラーはここにあります:

あなたは試しています

var thisDiv = ("div.video[data-id='" + id +"']");// but it returns jQuery object, 
                                                 // not element

// Thats why below statement will not work
// because it works on element

alert(thisDiv.nodeType);

したがって、次のように試す必要があります。

var thisDiv = ("div.video[data-id='" + id +"']")[0]; // returns the element
alert(thisDiv.nodeType); // and then get the nodeType
于 2012-05-31T14:56:41.107 に答える
0

チェックすると、要素が未定義であるというエラー メッセージが表示されます。

探しているものについてより多くの説明が表示されるため、コンソールが表示するエラーは無視してください。

明らかに例外がスローされており、例外が何であれエラーメッセージが表示されているため、ファイルが定義されているローカルホストで試してください。ボタンがクリックされたときに、ポインターまたは何かを使用してコードで宣言されていますか?

関数にこれらの宣言を含める必要があるようです。または、それらをグローバルにすることもできますが、詳細情報がないとよくわかりません...

于 2012-05-31T14:55:27.070 に答える