我有它所以当你点击右上角的元素时,它会在大中心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>
答案 0 :(得分: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
答案 1 :(得分:0)
选中后,我收到一条错误消息,指出Element未定义。
你应该超越你的控制台给你的错误,因为它会为你正在寻找的东西提供更多的解释。
显然抛出一个异常,无论您的异常是显示错误消息,所以......您在定义文件的本地主机上尝试它。它们是否在您的代码中用指针或其他东西声明,请回头看这里并在单击按钮时使用它?
看起来你的函数应该包含这些声明,或者你可以将它们设为全局,没有更多的信息就不能确定......