2013-08-04 104 views
0

我的代碼: http://codepen.io/vincentccw/pen/qbGtF如果條件不起作用?

我想測試是否離開了我當前的CSS的值等於3%,但jQuery的不似乎驗證....

我的HTML:

<div id="slideHorizontal"> 
    this is a div 
</div> 

我的CSS:

#slideHorizontal{ 
    position:relative; 
    left:3%; 
} 

我的jQuery:

$('body').click(function(){ 
     alert("you click"); 

    if($('#slideHorizontal').css("left") == 3+"%"){ 
     alert("0"); 
    } 

}); 
+0

發表您的請在此代碼,我們不應該去另一個網站去查看它。 –

+0

@PatrickEvans他發佈了一支筆...這很完美。 –

+2

@AndréDion - 不,它不是!代碼也應該發佈在問題中。 – adeneo

回答

1

DEMO

var css = (Math.ceil(100 * parseFloat($('#slideHorizontal').css("left"))/parseFloat($('#slideHorizontal').parent().css('width'))) + '%'; 

css返還財產的像素,所以你不能將其與%

比較,所以我已經轉換了css%使用這個上面的公式

$('body').click(function() { 
    alert("you click"); 
    var css =Math.ceil(100 * parseFloat($('#slideHorizontal').css("left"))/parseFloat($('#slideHorizontal').parent().css('width'))) + '%'; 
    console.log(css); 
    if (css == 3 + "%") { 
     alert("0"); 
    } 
}); 
+0

感謝您的答案,但你能解釋它是如何工作的?感謝 –

+0

查看演示 –

+0

jQuery的'.css()'將返回您可以觀察到的*運算值*:alert($('#slideHorizo​​ntal').css('left')); // 42.71875px Tushar的解決方案是計算'#slideHorizo​​ntal'相對於父級的位置。 –