2012-09-28 48 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/