我一直无法使用按钮,我正试图让自己的头脑。
基本上我有两个按钮。 按钮#1位于侧栏上,有两种状态,具有以下样式
.Bt, .BtT {
height: 129px;
cursor: pointer;
background: url('../images/sideBtns.png') no-repeat;
}
.BtT{
background-position: 0 -129px;
}
然后在我的HTML <div id="closeRefs" class="Bt">
中(这是旁边的那个)
<a class="openRef" ...> ... </a>
然后我的javaScript如下
$("#closeRefs").click(function () {//SIDE BUTTON
$(".Bt").toggleClass('BtT');
});
$(".openRef").click(function () {//REFERENCES OPEN
$(".Bt").removeClass('Bt').addClass('BtT');
});
这可以如下工作:
侧面按钮在background-position
之间切换,参考按钮也能够打开它被点击的侧面按钮(如果侧面按钮没有打开)。当我点击参考按钮时,问题仍然存在,它会打开侧面按钮,然后当我单击侧面按钮时它不会自动关闭。
答案 0 :(得分:1)
可能是因为您在点击Bt
时删除了课程openRef
。因此,当您点击closeRefs
时,没有类Bt
var $bt = $(".Bt");
$("#closeRefs").click(function () {//SIDE BUTTON
$bt.toggleClass('BtT');
});
$(".openRef").click(function () {//REFERENCES OPEN
$bt.removeClass('Bt').addClass('BtT');
});
答案 1 :(得分:0)
如果我理解正确,这就是你要做的事情: http://jsfiddle.net/KQ7EQ/
Arun说的是正确的,你正在删除Bt
离开目标div而没有任何回复。此外,您没有设置“重置位置”。
例如:
当您删除BlT
时,没有任何迹象表明背景会回到其初始位置。
如果你添加:
.Bt{
background-position: 0 0;
}
将告诉背景图像重置其位置。
此外,如果您希望Bl
在BlT
处于活动状态时消失,反之亦然,您应该使用:
$bt.toggleClass('Bt').toggleClass('BlT');
由于Bt
从一开始就存在,因此当您添加BlT
时会将其删除,而当您再次调用它时则相反。