已解决:
感谢每一个试图帮忙的人
添加了这段代码,它起了作用:
$(function() {
$( ".itemContainer" ).click(function() {
$(this).toggleClass( "showtheitem", 800 ),
$(this).prev(".itemContainer").toggleClass("hide"),
$(".itemContainer").not(this).prev(".itemContainer").removeClass("hide"),
$(".itemContainer").not(this).removeClass("showtheitem");
return false;
});});
您可以在http://jsfiddle.net/JKnjz/3/上看到它的工作原理。
我想在单击之前的项目中添加一个类,然后再单击要删除的类。但是,如果我单击每个其他项并将一个类添加到以前的项中.,我还希望删除该类.
试着用代码来解释。我有7分钱
<div class="itemContainer">1</div>
<div class="itemContainer">2</div>
<div class="itemContainer">3</div>
<div class="itemContainer">4</div>
<div class="itemContainer">5</div>
<div class="itemContainer">6</div>
<div class="itemContainer">7</div>
CSS:
.itemContainer {float:left;width:100px;height:100px;background:#000;margin:5px;color:#fff}
.hide {display:none;}
.showtheitem {width:200px;height:200px;}
Javascript:
$(function() {
$( ".itemContainer" ).click(function() {
$(this).toggleClass( "showtheitem", 800 ),
$(this).prev(".itemContainer").toggleClass("hide"),
$(".itemContainer").not(this).removeClass("showtheitem");
return false;
});
});
例如,如果我单击div数字2,它将类“隐藏”添加到div no. 1,如果我单击div no. 2,它将移除该隐藏类。那部分没问题。
但我有一个问题,如果单击div第2号,它添加类“隐藏”到div 1号,如果我单击例如div第6号。类“隐藏”仍然保留在div上。一号。
我希望类“隐藏”被删除,如果我点击每一个其他的div。
在这里,您可以看到jsfiddle.net/JKnjz/1的工作原理。
我希望我能举出清楚的例子:)
发布于 2012-11-21 06:23:18
请参阅演示链接.,:)
http://api.jquery.com/toggleClass/
发布于 2011-10-07 00:17:56
我不知道你真正想要的行为是什么,但删除“隐藏”类并不难。你可以这样做:
$(function() {
$( ".itemContainer" ).click(function() {
$(this).toggleClass( "showtheitem", 800 );
$('.itemContainer.hide').removeClass('hide');
$(this).prev(".itemContainer").toggleClass("hide");
$(".itemContainer").not(this).removeClass("showtheitem");
return false;
});
});
关键是在开始隐藏所需的div之前,删除所有隐藏项的“隐藏”类。先把所有隐藏起来,然后再隐藏你想要的那个,只有那个才会被隐藏。
任何其他预期的行为,如果你给出更多的解释你到底想要什么.
发布于 2011-10-07 00:32:24
就像桑德,我不太明白你想要什么。下面是另一种方法,我已经删除了"toggleClass“业务,因为它可能是令人困惑的部分。听起来你想要的规则是:
showtheitem
。showtheitem
的当前项“前面”应该添加类hide
。如果我对你的理解是对的,这看上去怎么样?
$(".itemContainer").click(function() {
$(this).siblings('.itemContainer').removeClass('hide');
$(this).prev(".itemContainer").addClass("hide");
$('.showtheitem').removeClass('showtheitem');
$(this).addClass( "showtheitem", 800 );
});
如果我还不明白,请留言,我们会到的。
https://stackoverflow.com/questions/7681762
复制相似问题