如何根据CSS中的margin-left值使用jQuery隐藏元素?

时间:2012-03-06 14:11:53

标签: javascript jquery css margin

我正在开发一个轮播样式滑块,并希望在ul的左边距等于-3480px时隐藏其中一个控件。这是我的代码:

$(function(){
    if($("ul#listName").css("margin-left") == "-3480px"){
      $(".nextButton").hide();
    }    
});

它没有做任何事情,我不知道接下来该做什么。有没有人有任何指示或建议?

5 个答案:

答案 0 :(得分:1)

var mm = $("ul#listName").css("margin-left");
if(mm == -3480+"px"){
  $(".nextButton").hide();
}

答案 1 :(得分:1)

var leftMargin = parseInt($('ul#listName').css('margin-left'), 10);
if (leftMargin == -3480){
  $('.nextButton').hide();
}

我使用parseInt来显示替代方案,并避免在px后缀为{{1}}时可能出现的任何挂断。

答案 2 :(得分:1)

var p = $(".your_class");
var position = p.position();
  if(p.position().left == '-3480px'){
$(".nextButton").hide();
}

答案 3 :(得分:1)

根据你动画的样式属性,你应该检查一下。还要确保在比较之前将值转换为int,因为css()方法将给单位(px / em ..)以及它的值。

    if(parseInt($("ul#listName").css("margin-left"), 10) == -3480){
        $(".nextButton").hide();
    }    

如果您在任何动画回调中执行此代码,我建议您检查<=而不是==,因为在动画期间该值可能不是那么完美。试试这个。

    if(parseInt($("ul#listName").css("margin-left"), 10) <= -3480){
        $(".nextButton").hide();
    }  

答案 4 :(得分:1)

我没有完整的脚本可供使用,但我建议您在console.log()上执行$("ul#listName").css("margin-left"),看看它是否实际输出您的想法。如果你没有达到那个确切的值,我也会使用&lt; =。

我只是在这里做假设,但希望这会有所帮助。