簡體   English   中英

jQuery在單擊另一個類時切換一個類

[英]jQuery toggle one class when another is clicked

我試圖編寫一個if else語句,以在一個類的marginTop為-200px的情況下單擊另一個類時觸發一個類。

我嘗試使用此if語句,但是它不起作用:

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

有什么建議么???

聽起來您只需要重新整理您的表情即可。 問題是當您只應附加事件處理程序時,您正在嘗試查看某個元素是否被“單擊”。

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

用適當的ifelse實例制作了jsfiddle。 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

    }

});​

您正在呼叫點擊事件,我想您想向點擊事件添加事件...

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

當您調用$('.logintrigger').click() ,它會觸發click事件。 它應該是:

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

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

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

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

        });

    }

});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM