Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/86.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用jQuery从几个div上的当前css值中减去1_Javascript_Jquery_Html_Css - Fatal编程技术网

Javascript 使用jQuery从几个div上的当前css值中减去1

Javascript 使用jQuery从几个div上的当前css值中减去1,javascript,jquery,html,css,Javascript,Jquery,Html,Css,有人知道我将如何使用jQuery从当前css值中减去1吗?我在同一个类中有5个div,每个div都有自己的z索引设置。当我单击一个div时,我想从它们的当前值中减去1。我的目标是在单击时向前移动一个div,将z-index设置为100。然后我想从其他人的当前值(不管是什么)中减去1,在同一次单击中发送它们回来 $('.classname').mousedown(function() { $(this).css("z-index", "100"); $(this).siblings

有人知道我将如何使用jQuery从当前css值中减去1吗?我在同一个类中有5个div,每个div都有自己的z索引设置。当我单击一个div时,我想从它们的当前值中减去1。我的目标是在单击时向前移动一个div,将z-index设置为100。然后我想从其他人的当前值(不管是什么)中减去1,在同一次单击中发送它们回来

$('.classname').mousedown(function() {
    $(this).css("z-index", "100");
    $(this).siblings().css("z-index", - 1);
});
  });
这段代码只是将所有同级z索引设置为-1。 谢谢你的帮助。我也愿意接受关于更好的方法的建议。

您可以给
css()
方法一个函数,对当前值执行一些逻辑。试试这个:

$('.classname').mousedown(function() {
    $(this)
        .css("z-index", "100")
        .siblings().css("z-index", function(i, val) {
            return parseInt(val, 10) - 1;
        });
});

所以基本上,你想这样做

var divs=document.getElementsByClassName('classname');
函数setZIndex(div){
div.style.zIndex=window.getComputedStyle(div.zIndex-1;
}
函数处理程序(e){
[]forEach.call(divs,setZIndex);
e、 target.style.zIndex=100;
}
[]forEach.call(div,函数(div){
div.addEventListener('click',handler,false);
});
.classname{
宽度:20px;
高度:20px;
边框样式:实心;
边框宽度:1px;
}
#一个{
位置:绝对位置;
顶部:0px;
左:0px;
背景色:红色;
z指数:-1;
}
#两个{
位置:绝对位置;
顶部:15px;
左:10px;
背景颜色:蓝色;
z指数:-1;
}
#三{
位置:绝对位置;
顶部:30px;
左:20px;
背景颜色:黄色;
z指数:-1;
}
#四{
位置:绝对位置;
顶部:45px;
左:30px;
背景颜色:绿色;
z指数:-1;
}
#五{
位置:绝对位置;
顶部:60px;
左:40px;
背景色:白色;
z指数:-1;
}


您是指CSS,还是指元素上的样式属性?显示您的标记会有所帮助。对不起,我应该更清楚一些。我刚才说的是更改元素上的style属性。假设
div
s是
兄弟姐妹
“@Xotic750”是正确的,但我刚刚复制了OP如何构造它们的代码。工作起来很有魅力!在我的例子中,他们是兄弟姐妹(所有div都在同一个父节点中)。我可以更改代码以影响同一类的所有div吗<代码>$('.classname').css(“z-index”,函数(i,val){