滑块很有趣

时间:2014-03-27 17:13:19

标签: javascript html

好的,我http://www.eclectogroove.com/new-site上的滑块无效。第一个问题是,当您单击箭头按钮转到下一张幻灯片时,我在控制台中收到了这些错误。

Uncaught TypeError: Cannot call method 'getElementsByTagName' of null tabs.js:43
Uncaught TypeError: Cannot read property 'top' of null jquery.mCustomScrollbar.js:352
event.returnValue is deprecated. Please use the standard event.preventDefault() instead.
Uncaught TypeError: Cannot read property 'top' of null jquery.mCustomScrollbar.js:352
GET http://localhost/eclectogroove/undefined 404 (Not Found) jquery.min.js:127
GET http://localhost/eclectogroove/undefined 404 (Not Found) jquery.min.js:130
GET http://localhost/eclectogroove/undefined 404 (Not Found) jquery.min.js:130

我不知道为什么会出现这些错误,但另一个问题是滑块上的图像会在大约20秒后随机消失。

以下是tabs.js

中的代码
init:function(tabid, dselected){
var menuitems=document.getElementById(tabid).getElementsByTagName("a")
this[tabid+"-menuitems"]=menuitems
for (var x=0; x<menuitems.length; x++){
    if (menuitems[x].getAttribute("rel")){
        this[tabid+"-menuitems"][x].hasSubContent=true
        if (menuscript.disabletablinks)
            menuitems[x].onclick=function(){return false}
    }
    else //for items without a submenu, add onMouseout effect
        menuitems[x].onmouseout=function(){this.className=""}
    menuitems[x].onclick=function(){menuscript.showsubmenu(tabid, this)}
    if (dselected=="auto" && typeof setalready=="undefined" && this.isSelected(menuitems[x].href)){
        menuscript.showsubmenu(tabid, menuitems[x])
        var setalready=true
    }
    else if (parseInt(dselected)==x)
        menuscript.showsubmenu(tabid, menuitems[x])
}

}

如果您需要我发布任何代码或提供任何其他信息,请告诉我。否则一切都可以在http://www.eclectogroove.com/new-site

看到

提前谢谢!

1 个答案:

答案 0 :(得分:1)

问题出在您的tabs.js文件中。

你在说: menuscript.definemenu("albums", 0)(文件的最后一行) 但是没有标识为albums的元素。

这会调用init函数并在第43行调用:

var menuitems=document.getElementById(tabid).getElementsByTagName("a") 

其中var menuitems=document.getElementById(tabid)返回null。 因此错误Cannot call method 'getElementsByTagName' of null tabs.js:43

要解决这个问题,要么创建一个标识为albums的元素,要么只删除它: menuscript.definemenu("albums", 0)

仅供参考,养成用分号(;)结束JS语句的习惯......这是非常草率的编程。