Jquery 如果选择器隐藏,则在另一个选择器上执行该功能
我有点笨,不知道如何使我的if语句起作用 如果classJquery 如果选择器隐藏,则在另一个选择器上执行该功能,jquery,css,toggle,hidden,Jquery,Css,Toggle,Hidden,我有点笨,不知道如何使我的if语句起作用 如果classbox1被隐藏,我只想把box2210px放在左边 $(document).ready(function(){ $("span:eq(0)").click(function(){ $(".box1").toggle("slow"); }); $("span:eq(1)").click(function(){ $(".box2").toggle("slow"); });
box1
被隐藏,我只想把box2
210px放在左边
$(document).ready(function(){
$("span:eq(0)").click(function(){
$(".box1").toggle("slow");
});
$("span:eq(1)").click(function(){
$(".box2").toggle("slow");
});
$("span:eq(2)").click(function(){
$(".box3").toggle("slow");
});
$("span:eq(3)").click(function(){
$(".box4").toggle("slow");
});
if($(".box1").is(":hidden")){
$(".box2").css("left","210px");
} else {
return;
}
});
如果您有任何想法,我们将不胜感激,谢谢
这是你想要的吗
if($(".box1").is(":hidden")){
$(".box2").css("left","210px");
}else{
$(".box2").css("left","0"); // default
}
尝试编辑此内容:希望此内容对您有所帮助
if($(".box1").is(":hidden")){
$(".box2").css({"left":"210px"});
}
else
{
$(".box2").css({"left":"0"});
}
编辑:
试试这个新的
切换完成后,我调用该函数:
$("span:eq(0)").click(function(){
$(".box1").toggle("slow", function(){
changeProperty();
});
});
我认为,当您验证是否隐藏时,元素具有display=block属性,但如果在toggle()
之后调用,它将返回元素的真实状态
function changeProperty(){
if($(".box1").is(":hidden")){
$(".box2").css({"left":"210px"});
}
else
{
$(".box2").css({"left":"0"});
}
}
我说不出你的小提琴中有什么不符合你的要求,
else{return;}
@Blazemonger我应该把什么设置为零呢?@j08691我只是在摆弄不同的选项,我想你必须用一个else语句和一个if语句,因为某种原因,在jfiddle上不起作用,基本上,右上角的蓝色框应该保持原样……也许你应该改变框的可见性,而不是切换它们?如果你想在它隐藏时这样做呢?你可以使用$(选择器)。不(':visible')
这使得当我隐藏box1时,box2会显示出来,因为属性$(.box2”).css(“left”,“210px”);代码>将box2放在box3后面,将左边的值改为其他值,然后查看感谢您的回答,我使用了绝对定位,效果很好