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 }); } });"; 

解決了這一問題。

相關問題