检查margin-left是否为特定百分比

时间:2013-01-13 17:24:43

标签: jquery slider responsive-design margin percentage

制作简单的水平滑块时遇到了问题。 使用左右箭头(img),位置变为-100%或+ 100%,这样可以正常工作! :) 当滑块为-400%时,右箭头应该消失,但是当我使用jquery检查时,没有任何反应?此外,当左箭头为0%时,它应该消失。

这是我的代码:

$('.right img').live('click', function(){
    $('.play').stop(true, true).animate({
        marginLeft: "-=100%"
    }, 1000);
$('.left img').css("visibility", "visible")
if($('.play').css("margin-left")="400%") {
    $('.right img').css("visibility", "hidden")     
    }
});

$('.left img').live('click', function(){
    $('.play').stop(true, true).animate({
        marginLeft: "+=100%"
    }, 1000);

if($('.play').css('margin-left')=='-2520px'){           
    $('.right img').css("visibility", "visible")
}
else if($('.play').css("margin-left")=0) {
    $('.left img').css("visibility", "hidden")
}
});

当我使用px代替%时它会起作用!但对于响应式代码,我想使用%。

抱歉我的英文不好:) 谢谢你的时间!!

2 个答案:

答案 0 :(得分:0)

您使用的是作业而不是比较:

if($('.play').css("margin-left")="400%") {

应该是:

if($('.play').css("margin-left")=="400%") {

else if($('.play').css("margin-left")=0) {

应该是:

else if($('.play').css("margin-left")==0) {

除此之外,它仍然是一种意大利式的西方方式来做你想要做的事情,但这将在很长的路要走,理解为什么事情不应该消失,等等... < / p>

我建议任何溢出隐藏,使用绝对定位而不是边距。但我离题了......

答案 1 :(得分:0)

比较数值时使用

==

= 是赋值运算符,而不是比较运算符。

和jQuery css属性返回像素而不是百分比,因此在这种情况下最简单的方法是使用JavaScript:

if(document.getElementsByClass('play').style.marginLeft == "400")