jos*_*max 1 jquery this slidetoggle toggleclass
如果这是一个新手问题,请原谅我:
我有一个菜单设置打开下一个div以查看更多细节,如果还有另一个div打开它将关闭它,同时打开新的.如果你单击与该div关联的标题,我无法弄清楚如何关闭已打开的div.它只是关闭并重新打开.
码:
$(document).ready(function() {
$(".heading").click(function(){
if($(".content").is(":visible")){
$(".less").removeClass("less");
$(".content").slideUp(500);
}
$(this).next(".content").slideToggle(500);
$(this).children(".more").toggleClass("less");
});
});
Run Code Online (Sandbox Code Playgroud)
任何帮助表示赞赏.
试试这个:
$(".heading").click(function(){
// Cache stuff, so we don't have to keep generating jQuery objects
var $this = $(this);
var $thisContent = $this.next(".content");
// Saves a boolean value to see if the clicked element's content is
// currently visible
var thisWasVisible = $thisContent.is(":visible");
// Removes less class and slides up ALL visible content divs
$(".less").removeClass("less");
$(".content").slideUp(500);
// Slide the clicked element's content div down and add less class,
// but only if it's content was not originally visible. We don't want
// to show it again if it was just hidden.
if(!thisWasVisible){
$thisContent.slideDown(500);
$this.children(".more").addClass("less");
}
});
Run Code Online (Sandbox Code Playgroud)