2012-02-07 105 views
1

我試圖使用jQuery的滾動插件。
但我得到這個錯誤在FireBug控制檯jQuery("#marquee").marquee is not a function
我的代碼是這樣的:「jQuery(」#marquee「)。marquee不是函數」錯誤

<script src="jquery-1.6.4.min.js" type="text/javascript"></script> 
<script src="jquery.marquee.js" type="text/javascript"></script> 
<script type="text/javascript"> 
    jQuery.noConflict(); 
    jQuery(document).ready(function(){ 
     jQuery("#marquee").marquee(); 
    }); 
</script> 

和我的HTML是:

<ul id="marquee" class="marquee"> 
    <li>Some text</li> 
</ul> 

我使用這個插件字幕:
http://www.givainc.com/labs/marquee_jquery_plugin.htm

什麼問題?

----- -----編輯
我測試了一個獨立的頁面,什麼都沒有,除了字幕上的代碼,它的工作!
我認爲我正在使用的其他庫會造成問題。
我的整個<head>是:

<meta http-equiv="content-type" content="text/html; charset=utf-8" /> 
<meta name="robots" content="index, follow" /> 
<meta name="generator" content="Joomla! 1.7 - Open Source Content Management" /> 
<title>title</title> 
<link href="/joomla/index.php?option=com_content&amp;view=category&amp;layout=blog&amp;id=89&amp;Itemid=559&amp;format=feed&amp;type=rss" rel="alternate" type="application/rss+xml" title="RSS 2.0" /> 
<link href="/joomla/index.php?option=com_content&amp;view=category&amp;layout=blog&amp;id=89&amp;Itemid=559&amp;format=feed&amp;type=atom" rel="alternate" type="application/atom+xml" title="Atom 1.0" /> 
<link href="http://localhost/joomla/index.php?option=com_search&amp;view=category&amp;layout=blog&amp;id=89&amp;Itemid=559&amp;format=opensearch" rel="search" title="title" type="application/opensearchdescription+xml" /> 
<link rel="stylesheet" href="/joomla/media/system/css/modal.css" type="text/css" /> 
<link rel="stylesheet" href="/joomla/plugins/content/attachments/attachments.css" type="text/css" /> 
<link rel="stylesheet" href="/joomla/plugins/content/attachments/attachments1.css" type="text/css" /> 
<link rel="stylesheet" href="media/system/css/jquery.marquee.css" type="text/css" /> 
<script src="/joomla/media/system/js/core.js" type="text/javascript"></script> 
<script src="/joomla/media/system/js/mootools-core.js" type="text/javascript"></script> 
<script src="/joomla/media/system/js/caption.js" type="text/javascript"></script> 
<script src="/joomla/media/system/js/mootools-more.js" type="text/javascript"></script> 
<script src="/joomla/media/system/js/modal.js" type="text/javascript"></script> 
<script src="/joomla/plugins/content/attachments/attachments_refresh.js" type="text/javascript"></script> 
<script src="media/system/js/jquery-1.7.1.min.js" type="text/javascript"></script> 
<script src="media/system/js/jquery.marquee.js" type="text/javascript"></script> 
<script type="text/javascript"> 
function keepAlive() { var myAjax = new Request({method: "get", url: "index.php"}).send();} window.addEvent("domready", function(){ keepAlive.periodical(840000); }); 
    window.addEvent('domready', function() { 

     SqueezeBox.initialize({}); 
     SqueezeBox.assign($$('a.modal'), { 
      parse: 'rel' 
     }); 
    }); 
    window.addEvent('domready', function() { 

     SqueezeBox.initialize({}); 
     SqueezeBox.assign($$('a.modal-button'), { 
      parse: 'rel' 
     }); 
    }); 

jQuery.noConflict(); 
jQuery(document).ready(function(){ 
    jQuery("#marquee").marquee(); 
}); 
</script> 
<link type="text/css" rel="stylesheet" href="http://localhost/joomla/plugins/content/jumultithumb/assets/style.css" /> 
<link rel="stylesheet" href="/joomla/templates/siteground-j16-25/css/template.css" type="text/css" /> 
<script type="text/javascript" src="/joomla/templates/siteground-j16-25/js/CreateHTML5Elements.js"></script> 
<script type="text/javascript" src="/joomla/templates/siteground-j16-25/js/jquery-1.7.1.min.js"></script> 
<script type="text/javascript">jQuery.noConflict();</script> 
<script type="text/javascript" src="/joomla/templates/siteground-j16-25/js/sgmenu.js"></script> 
+1

Firebug是否會在'jquery.marquee.js'的網絡窗格中給出404錯誤? – 2012-02-07 20:05:12

+1

爲什麼不使用簡短的jQuery語法('$')? – egasimus 2012-02-07 20:12:40

+0

@BrianDriscoll:不!它給出了代碼! – RYN 2012-02-07 20:13:15

回答

3

看到您更新的問題,問題很明顯。你第二次加載jquery(最後第三行),當然,它會覆蓋之前加載的所有插件。並且由於.marquee的調用是異步的(回調就緒事件),該回調被調用時插件消失。

解決方法:刪除第二次加載jquery。

+0

非常感謝。 – RYN 2012-02-07 21:00:03

1

嘗試把這樣的:現在http://jsfiddle.net/mjgasner/m64xQ/

<script type="text/javascript"> 
    jQuery.noConflict(); 
    jQuery(document).ready(function(){ 
     jQuery("#marquee").marquee(); 
    }); 
</script> 

體內

繼承人的一個例子是什麼我談論它不起作用,但是如果你改變javascript負載到nowrap(body),它就會起作用。

+2

他已經有了這個頭,爲什麼要將它移到身體幫助? – 2012-02-07 20:23:42

+0

做到了。沒有效果!仍然有這個錯誤! – RYN 2012-02-07 20:29:00

+0

當我遇到類似的問題時,它爲我工作。 Idk爲什麼。 – 2012-02-07 20:30:12