2012-02-11 151 views
0

我已經下載並安裝了jQuery UI 1.8.17,我嘗試應用手風琴,但沒有運氣。jQuery UI手風琴不起作用

我的代碼如下:

HTML

<html> 
<head> 
    <title>Document Title</title> 
    <link href="../../css/tinyMCE/jquery_ui_wp_theme/jquery-ui-1.8.17.custom.css" rel="stylesheet" type="text/css" /> 
    <script type="text/javascript" src="../../js/jquery-1.7.1.min.js"></script> 
    <script type="text/javascript" src="../../js/jquery-ui-1.8.17.custom.min.js"></script> 
    <script type="text/javascript" src="js/shortcodes.js"></script> 
</head> 
<body> 
    <div id="codes"> 
     <h3><a href="#">Shortcode name</a></h3> 
     <div><p>Dialog content</p></div> 
     <h3><a href="#">Shortcode name</a></h3> 
     <div><p>Dialog content</p></div></div> 
    </div> 
</body> 
</html> 

的JavaScript

jQuery(document).ready(
    function($) 
    {   
     $('#codes').accordion(); 
    } 
); 

與上面的代碼的問題是,雖然手風琴是正確地呈現,根本不起作用。這意味着,當我點擊手風琴面板標題時,沒有任何操作。

另外在我的控制檯中,我沒有得到任何JavaScript錯誤,並且所有文件都正常加載。任何想法如何解決這個問題?!

This is the accordion as it is rendered

+0

你在頁面上的任何其他腳本或JavaScript庫,插件? – random 2012-02-11 13:47:11

+0

我不使用任何其他插件。 :( – 2012-02-11 13:51:25

回答

2

你不想$在你準備函數簽名:

jQuery(document).ready( 
    function() 
    {   
     $('#codes').accordion(); 
    } 
); 

你可能已經從一個插件的源,在那裏它通常用於確保該插件是複製這個模式使用來自jQuery的$而不是例如原型 - 你將你的插件聲明爲一個匿名函數,然後立即調用它傳遞一個jQuery對象。如果ready函數接受一個參數(我不確定它的確如此,但the docs表明它是一個常規綁定事件),它將是一個事件對象而不是jQuery對象。

+0

這並沒有解決我的問題:(仍然存在問題 – 2012-02-11 13:52:13

1

許多JavaScript庫使用$作爲函數或變量名稱,就像jQuery一樣。在jQuery的情況下,$是jQuery的別名,所以所有功能都可以在不使用$的情況下使用。如果我們需要在jQuery中使用另一個JavaScript庫,我們可以通過調用jQuery.noConflict();將$ back控件返回給另一個庫。

看到這裏的例子:

jQuery.noConflict(); 
(function($) 
{ 
    $('#codes').accordion(); 
}) 
(jQuery); 
+0

問題不是$符號。我沒有得到任何錯誤,在我的控制檯!!插件呈現normaly。問題是,這不是功能 – 2012-02-11 14:01:59

+0

使用我在這裏分享的一個代碼,它的工作http://jsfiddle.net/vikastyagi87/cPGFE/ – 2012-02-11 14:21:01