2

我正在wordpress的网站上工作。我不知道为什么,突然它给出了错误Uncaught TypeError: Cannot read property 'id' of undefined。我试图做几乎所有的事情。删除了插件,删除了widgest。但它仍然抱怨。由于它我的脚本不工作。Uncaught TypeError:无法读取undefined的属性'id'

的错误是在页63行,其中包含

<link rel="stylesheet" type="text/css" href="http://localhost/hhf/wp-content/plugins/jquery-mega-menu/css/dcjq-mega-menu.css" media="screen" /><script type="text/javascript">/* <![CDATA[ */ 
     (function($){$.fn.s3Slider = function(vars) { var element = this; var timeOut = (vars.timeOut != undefined) ? vars.timeOut : 4000; var current = null; var timeOutFn = null; var faderStat = true; var mOver = false; var items = $("#" + element[0].id + "Content ." + element[0].id + "Image"); var itemsSpan = $("#" + element[0].id + "Content ." + element[0].id + "Image span"); items.each(function(i) { $(items[i]).mouseover(function() { mOver = true; }); $(items[i]).mouseout(function() { mOver = false;fadeElement(true); }); });var fadeElement = function(isMouseOut) { var thisTimeOut = (isMouseOut) ? (timeOut/2) : timeOut; thisTimeOut = (faderStat) ? 10 : thisTimeOut; if(items.length > 0) { timeOutFn = setTimeout(makeSlider, thisTimeOut); } else { console.log("Poof.."); } }; var makeSlider = function() {current = (current != null) ? current : items[(items.length-1)]; var currNo = jQuery.inArray(current, items) + 1; currNo = (currNo == items.length) ? 0 : (currNo - 1); var newMargin = $(element).width() * currNo; if(faderStat == true) { if(!mOver) { $(items[currNo]).fadeIn((timeOut/6), function() { if($(itemsSpan[currNo]).css('bottom') == 0) { $(itemsSpan[currNo]).slideUp((timeOut/6), function() { faderStat = false; current = items[currNo]; if(!mOver) { fadeElement(false); } }); } else { $(itemsSpan[currNo]).slideDown((timeOut/6), function() { faderStat = false; current = items[currNo]; if(!mOver) { fadeElement(false); } }); } }); } } else { if(!mOver) { if($(itemsSpan[currNo]).css('bottom') == 0) { $(itemsSpan[currNo]).slideDown((timeOut/6), function() { $(items[currNo]).fadeOut((timeOut/6), function() { faderStat = true; current = items[(currNo+1)]; if(!mOver) { fadeElement(false); } }); }); } else { $(itemsSpan[currNo]).slideUp((timeOut/6), function() { $(items[currNo]).fadeOut((timeOut/6), function() { faderStat = true; current = items[(currNo+1)]; if(!mOver) { fadeElement(false); } }); }); } } } }   
    makeSlider();};})(jQuery); jQuery(document).ready(function() { jQuery('#slider').s3Slider({ timeOut: 3000 }); }); /* ]]> */</script> 

我使用jQuery的大型菜单控件插件。

我需要紧急修复它。请帮助我。

+0

我检查了页面中没有元素#slider。我认为这是问题。但我怎么知道为什么这个脚本是在页面中生成的。 – 2011-06-11 21:58:52

+0

我得到了错误,第63行生成的脚本试图访问页面上不存在的元素#slider,所以为什么它的ID不可访问。但是我找不到哪个插件在标题中生成这个脚本。 – 2011-06-11 22:16:57

+0

第63行是打包的JavaScript行。 – 2011-06-11 22:28:05

回答

4

经过测试并从中找到它的位置后,Ultimate Custom Type Manager插件正在生成一些脚本,该脚本文件是class-gallery.php,因此正在生成#slider元素的脚本,该脚本不存在于页面上。希望有人能尽快修复它。

替换行的文件类gallery.php的与此代码

$r.="jQuery(document).ready(function() { if(jQuery('#slider').length > 0) { jQuery('#slider').s3Slider({ timeOut: 3000 }); } });"; 

解决了这一问题。

相关问题