2013-02-16 73 views
0

我正在爲導航欄創建一個新功能。它用來在你點擊它時下降,但新方法是當他們將箭頭懸停(指向下)時。SlideToggle()在懸停事件(jQuery 1.4.1)上無法正常工作

我遇到的問題是我爲此編寫的腳本在較新版本的jQuery中運行良好,但在本站點版本中無法正常工作。

請參閱使用jQuery的的最新版本例如:http://jsfiddle.net/titanium/wDEjs/

請參閱例如與版本1.4.1http://jsfiddle.net/titanium/SmhHM/

沒有什麼錯的腳本本身(更新的版本)但它需要改變,所以它在版本1.4.1的工作,以糾正此版本中的錯誤/錯誤。即使有人知道錯誤/錯誤是什麼,並且可以指引我走向正確的方向來解決這個問題,那會很好。

我明白最好的做法是使用更新版本的jQuery,但我已經嘗試過這一點,它似乎在網站上弄出了一些東西(這是一個非常大的網站)。

下面是我用此刻的代碼(jQuery中的最新版本正常工作):

HTML

<ul> 
    <li>Page <span>sub</span></li> 
    <li>Page <span>sub</span></li> 
    <li>Page <span>sub</span></li> 
    <div class="clear"></div> 
</ul> 

<div class="sub"> 
    <p>Some stuff here for the menu</p> 
</div> 

CSS

ul { 
    margin:0; 
    padding:0; 
} 
li { 
    float:left; 
    padding:0 50px; 
    background-color:#eee; 
} 
span { 
    cursor:pointer; 
} 
.clear { 
    clear:both; 
} 
.sub { 
    width:400px; 
    height:300px; 
    display:none; 
    background-color:#ccc; 
} 

Javascript

$(document).ready(function() { 
    $("span, .sub").hover(function() { 
     $(".sub").stop(true, false).slideToggle(); 
    }); 
}); 

回答

-1

一個解決在這種情況下(不是一個很好的人,但它的工作原理,特別是與舊版本的jQuery庫打交道時):

<script src="/js/jquery-1.4.1.min.js"></script> 
<script src="/js/jquery-1.9.1.min.js"></script> 
<script> 
    var jQuery_1_9_1 = $.noConflict(true); 
</script> 

當你打電話給你的jQuery的功能,而不是使用全球變量$使用您創建的變量。在這種情況下,這將是jQuery_1_9_1

的最終結果將是這一變化的腳本:

$(document).ready(function() { 
    $("span, .sub").hover(function() { 
     jQuery_1_9_1(".sub").stop(true, false).slideToggle(); 
    }); 
}); 
+0

這不是一個非常有效的解決方案。 – MacMac 2013-02-16 19:39:38

+0

專業編碼的問題是在一定的時間內找到有效的解決方案。如果你花費的時間超過你爲工作引用的時間,你就會失去錢。如果你沒有在工作中賺錢,你就不會賺錢,也不能再支付賬單。所以就有效的解決方案而言,這是解決問題的解決方案。有更好的主意嗎? – 2013-02-17 00:14:52

-1

不要t know really why its working like that, but it does work with jquery 1.4.1 and if you change the second parameter of the stop, to true, it要工作,buggier一點,但它ll work, cause it會跳到動畫的結尾,如果你離開那虛假髮生的事情是,如果你不t let the animation finish, it會然後滑動到前點它結束。

+1

不,這個想法是沒有插隊到了最後,但第一個參數清除隊列。這樣下拉不會消失。在jQuery的後續版本中有一個明確的解決方案,它具有相同的錯誤,高達1.6.4。這不能回答我的問題。 – 2013-02-16 15:33:47