2013-12-09 33 views
0

我準備好了以下代碼。如果工作正常,但永遠保持頂部:0。 else語句適用於cholder元素,但不適用於openercheck。請指教。無法更改jQuery中的頂部css值

if($('.openercheck').prop('checked', false)){ 
    $('.openercheck').css('top', '0px'); 
    } 
    else{ 

    $('.cholder').css('height', $('.slide'+classnumber).height()+12+'px'); 
    $('.openercheck').css('top', $('.cholder').height()+'px'); 
    } 
+0

胡亂猜測 - 嘗試'的setTimeout(函數(){$( 'openercheck。 '),CSS(' 頂',$(」。 .cholder')。height()+'px');},0)'讓我知道這是否有效。另外,試着把代碼在$(window).load'而不是'$(document).ready' –

+0

這是運行一次,在頁面加載還是在一個'change'事件處理程序中? –

回答

1

$('.openercheck').prop('checked', false))總是如此,因爲返回jQuery對象。 試試這個:

所有的
if($('.openercheck').prop('checked')){ 
    $('.openercheck').css('top', '0px'); 
} else{ 
    $('.cholder').css('height', $('.slide'+classnumber).height()+12+'px'); 
    $('.openercheck').css('top', $('.cholder').height()+'px'); 
} 
0

首先,

$('.openercheck').prop('checked', false) 

是要託運的屬性設置爲false。

如果你想要做一個條件,就做這樣的事情:

if($('.openercheck').prop('checked') == 'false') 

最後一行,你可以這樣做:(但我不那麼肯定ATM,我更喜歡使用.attr,或.prop並沒有直接的.css

$('.openercheck').css('top', $('.cholder').css('height') +'px'); 

希望這可以幫助