2013-01-24 128 views
0

我有一個工作可點擊的,可摺疊的DIV腳本:可點擊的div

$(document).ready(function() { 
    $(".toggle-content").hide(); 
    $(".byline").click(function() { 
     $(".toggle-content").hide(); 
     $(this).next(".toggle-content").slideToggle(500); 
    }); 
}); 

它開始了,就像這樣:

$(document).ready(function() { 
    $(".toggle-content").hide(); 
    $(".byline").click(function() { 
     $(this).next(".toggle-content").slideToggle(500); 
    }); 
}); 

Thsi第二個例子很好地工作,但它使人們,使用戶可以打開所有的div S和本作頁太高。我添加了hide()函數,但現在它導致了這個問題。

我想補充的功能,當再次點擊每個div,它實際上關閉它(隱藏它)。然後,此時所有div將被關閉(隱藏)。目前,一個div總是打開(可見)。我想這兩個功能如果可能的話......

我用手風琴其他地方(我知道這可能是這裏使用),但我那種需要得到這個會很快,所以我並不想在這裏實現更簡單的腳本。如果我可以使用現有的腳本找到一個修復程序,我會很興奮。

編輯

我編輯的小提琴表現出改進的修復:

http://jsfiddle.net/nicorellius/gsDVS/

+0

這將有助於查看此問題的關聯HTML。 – joeltine

回答

2

這應該工作。它將忽略隱藏與點擊元素相關的內容,並將滑動切換該div相應的

$(document).ready(function() { 
    $(".toggle-content").hide(); 
    $(".byline").click(function() { 
     var $next= $(this).next(".toggle-content"); 
     $(".toggle-content").not($next).hide(); 
     $next.slideToggle(500); 
    }); 
}); 
+0

這是偉大的 - 和它的作品... +1快速的問題,如果我能...當我點擊了非本'div'打開和別人接近,但在一個快速,幾乎催人淚下時尚。有沒有辦法控制收盤寬鬆呢?換句話說,當我點擊'this-div'時,它會以與它打開的相同的平滑度('value = 500')關閉。我會接受你的答案太;-) – nicorellius

+1

可以使用'效果基本show()',而不是'隱藏()'。 '隱藏()'是immmediate – charlietfl

+0

多謝了 - 就像一個魅力;-) – nicorellius