2012-09-28 47 views
0

Jquery其他条件不工作。当我第一次点击#webul li时,背景位置变为0 144,但是当我再次点击时没有任何反应。如果否则有条件的不在第二次点击

$('.design-button').click(function() { 
    $('#webul li ').not('.design').toggle(500) 
    if($('.design-button').css("background-position", "0 0px")){ 
     $('.design-button').css("background-position", "0 144px") 
    } 
    else { 
     $(".design-button").css("background-position", "0 0px") 
    } 
}); 
+9

使用二传手其内部返回一个jQuery对象条件将总是评估为真。 –

+0

你的if语句没有意义。 – c0deNinja

+1

上面的帖子说的是你的条件应该是'if($('。design-button').css('background-position')==“0 0px”)''。 – Ohgodwhy

回答

1
if($('.design-button').css("background-position", "0 0px")){ 

总是 ..你不检查一个值这里,你要分配它,这使得语句总是如此..让这种变化

if($('.design-button').css("background-position") == "0 0px")){ 
0

你如果不添加px到属性,也会注意到它失败。这应该工作。虽然,根据预期的功能,你可以考虑改变内部标识符为$(本),而不是$(“设计按钮”)

$('.design-button').click(function() { 
    $('#webul li ').not('.design').toggle(500); 

    if($('.design-button').css("background-position") == "0px 0px"){   
     $('.design-button').css("background-position", "144px"); 
    } 
    else { 
     $('.design-button').css("background-position", "0px 0px"); 
    } 
}); 

http://jsfiddle.net/kJ7Ew/3/

相关问题