2011-09-17 32 views
2

我使用下面的jQuery的toogle函數來顯示/隱藏詳細清單的Jquery的toogle效果8/7

$('dt').toggle(
function() { 
    $(this).next('dd').slideUp(); 
    $(this).addClass('selectedArrow'); 

}, 
function() { 
    $(this).next('dd').slideDown(); 
    $(this).removeClass('selectedArrow'); 

} 
); 

這增加了對除IE7和IE8,這樣做的原因,所有的瀏覽器selectedArrow類類是有一個背景圖像,根據什麼狀態改變toogle,

任何想法如何我可以得到它在IE7/8上添加類或知道獲得相同結果的替代方法。

感謝


感謝您的幫助,設法得到它到底工作,竟然是箭頭的背景對齊問題在我的CSS

回答

2

您的代碼在這裏工作的IE6 IE9和在IE9的兼容模式下模擬IE7和IE8的this jsFiddle,所以我想這個問題與你沒有向我們透露關於你的實際頁面的東西有關,無論是你的HTML還是其他關於你的代碼的東西。

下面是我在演示中使用,以表明它的工作原理:

HTML:

Click on Coffee or Milk<br><br> 
<dl> 
    <dt>Coffee</dt> 
    <dd>- black hot drink</dd> 
    <dt>Milk</dt> 
    <dd>- white cold drink</dd> 
</dl> 

而且,我用你的確切代碼:

$('dt').toggle(
    function() { 
     $(this).next('dd').slideUp(); 
     $(this).addClass('selectedArrow'); 
    }, 
    function() { 
     $(this).next('dd').slideDown(); 
     $(this).removeClass('selectedArrow'); 
    } 
); 
0

你嘗試另一種解決方案?例如:

$('#dt').click(function(){ 
    $(this).next('dd').slideToggle().toggleClass('selectedArrow'); 
});