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 回答