我正在尝试实现这一点是否有一种简单的方法可以在点击事件的两个状态之间切换背景位置?
我已经构建了一个应该可以工作的函数.. 不知道为什么它不会。对于我的项目中如此乏味的部分,我花了好几个小时试图实现这一点,但这是必要的。
请看一下这个函数:
$("#secondarrow").click(function(){
/*$(".arrows").toggle(
function(){
$(this).css({"background-position":"0px 0px"});
},
function(){
$(this).css({"background-position":"0px -30px"});
});*/
/*$(".arrows").toggleClass(function() {
if ($(this).is(".arrows")) {
return ".arrowsup";
} else {
return ".arrows";
}
});*/
$('#secondarrow').toggle(function() {
$("#arrow2").css('backgroundPosition', '0px -15px');
}, function() {
$("#arrow2").css('backgroundPosition', '0px 0px');
});
$("#ukmore").slideToggle(100);
$("#clause").slideToggle(100);
});
它应该做的是,在单击 div 名称第二个箭头时,它会显示许多子类别,同时从指向下方的箭头(表示单击显示更多)指向一个向上的箭头,该箭头是同一背景图像的一部分(表示单击以隐藏子类别)。
我已经尝试了许多不同的功能结构,但它们都没有按要求工作,最新的一个 - 没有被注释掉的 - 确实改变了背景位置以显示向上的箭头,但它只是在第一次单击并且仅在直接单击#arrow1 div 时才执行此操作,当我需要它在单击#secondarrow div 时来回切换时。
请帮忙。