2012-04-20 205 views
0

我試圖編寫一個if else語句來觸發一個類,當另一個類被點擊的條件下,一個類的marginTop爲-200px。當另一個被點擊時,jQuery切換一個類

我試圖用這個if語句,但它不工作:

if ($('.logintrigger').click() && $('.register').css('marginTop') === '-200px') { 
     $('.registertrigger').toggle(
      function() {$('.register').stop().animate({'marginTop':'-0px'},200); $('#opencloseregister').css({'backgroundPosition':'-20px 0px'});} 
     ); 
    } 

任何建議???

回答

2

做了一個用的jsfiddle使用jQuery適當ifelse的例子。 http://jsfiddle.net/RQ75m/

$(".logintrigger").click(function(){ 

    if($(".register").css("margin-top") == "200px"){ 

     $(".registertrigger").show(); //toggle function here 
     return false; //so that the page doesn't refresh 

    } else { 

     $(".registertrigger").hide(); 
     return false; //so that the page doesn't refresh 

    } 

});​ 
+1

將相關的代碼添加到此答案,而不僅僅是一個鏈接到jsfiddle。 – Gabe 2012-04-20 18:39:46

1

您呼叫的單擊事件,我想你想將事件添加到Click事件......

$('.logintrigger').click(function(e){ 
    if($('.register').css('marginTop') === '-200px'){ 
    $('.registertrigger').toggle(); 
    } 
}); 
2

這聽起來像你只需要返工你的表達。問題在於你試圖查看某個元素是否被點擊,何時應該附加一個事件處理程序。

$('.loginTrigger').click(function() 
{ 
    if('.register').css('marginTop') === '-200px') 
    { 
     // Do Stuff 
    } 
}); 
1

當您致電$('.logintrigger').click()時,它觸發點擊事件。 它應該是:

if ($('.logintrigger').click(function(){ 
    if ($('.register').css('marginTop') === '-200px') { 
     $('.registertrigger').toggle(
      function() { 
       $('.register').stop().animate({'marginTop':'-0px'},200); 
       $('#opencloseregister').css({'backgroundPosition':'-20px 0px'}); 
      } 
     ); 
    } 
}) 
0
$('.logintrigger').on('click', function(){ 

    if($('.register').css('marginTop')==='200px') { 

     $('.registertrigger').toggle(function() { 

      $('.register').stop().animate({'marginTop': 0 },200); 
      $('#opencloseregister').css({'backgroundPosition':'-20px 0px'}); 

     }); 

    } 

}); 
相關問題