0

条件语句似乎对我不起作用。我正在尝试一组堆叠的图像以根据被选择的图像的 zIndex 更改它们的 zIndex。因此,如果我有几个按钮可以将一些图像调到前面:

(假设我们默认从第一张图片开始并选择第二张图片)

<script>
$(function() {
    var z = $("#image2").zIndex;  //also tried .css.zIndex;
    $("#button2").click(function() {
        if (z != 999 ) {
            $("#image1").animate({zIndex: 0}, 1, 'linear');
            $("#image2").animate({zIndex: 999}, 1, 'linear'); 
        } else {
        return false;
        };  
    });
});
</script>

问题是,虽然它确实有效,但无论条件是否为真,它都有效,所以如果我选择第二张图像然后再次选择它,它将运行脚本。现在,在您开始想知道为什么这很重要之前,还有更多的事情发生,这会导致视觉错误发生,否则 id 就这样吧,但这就是它的要点。

4

3 回答 3

1

您可以执行以下任一操作:

$("#image2")[0].style.zIndex // document.getElementById(image2).style.zIndex

或者

$("#image2").css('zIndex');

您在这里拥有的是一个挂在 jQuery 集合上的原生 JavaScript 属性 getter/setter,而这根本不是它的工作原理。

于 2012-04-27T18:57:56.770 回答
0
if ( $("#image2").css("z-index") <= 999 ){
      $("#image1").animate({zIndex: 0}, 1, 'linear');
      $("#image2").animate({zIndex: 999}, 1, 'linear'); 
}

希望这对你有用..

于 2012-04-27T18:49:56.473 回答
0

看看这个,看看这是否适合你?http://jsfiddle.net/atfZn/5/

于 2012-04-27T19:27:08.697 回答