2013-12-09 4 views
0

준비가 완료된 함수에 다음 코드가 있습니다. if는 잘 작동하지만 top : 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

추측을 -.. '{$ ('. openercheck ') CSS ('최고 '$ (의 setTimeout (함수()'시도 .cholder '). height() +'px ');}, 0)'그 코드가 작동하는지 알려주세요. '$ (document) .ready' 대신에'$ (window) .load'에 넣습니다. –

+0

한 번만, 페이지를로드 할 때, 또는'change' 이벤트 핸들러 내부에서 실행합니까? –

답변

1

$('.openercheck').prop('checked', false)) jQuery 객체를 반환하기 때문에 항상 true입니다. 이 시도 : 모든

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') 

: 당신이 조건을 수행 할 경우

, 그냥 그런 일을 할 (그러나 나는 그렇게 확신 기압 아니에요, 나는 .attr 사용하거나 선호 .prop 아니라 직접 도울 수

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

희망을 .CSS

관련 문제