0

我正在尝试编写一个 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'});}
        );
    }

有什么建议么???

4

5 回答 5

2

听起来你只需要修改你的表达方式。问题是您试图查看一个元素是否被“点击”,而您应该只附加一个事件处理程序。

$('.loginTrigger').click(function()
{
    if('.register').css('marginTop') === '-200px')
    {
        // Do Stuff
    }
});
于 2012-04-20T18:26:42.707 回答
2

用 jquery 的正确 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

    }

});​
于 2012-04-20T18:38:14.993 回答
1

你正在调用点击事件,我想你想给点击事件添加一个事件......

$('.logintrigger').click( function(e){
  if($('.register').css('marginTop') === '-200px'){
    $('.registertrigger').toggle();
  }
});
于 2012-04-20T18:26:26.767 回答
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'});
            }
        );
    }
})
于 2012-04-20T18:27:04.567 回答
0
$('.logintrigger').on('click', function(){

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

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

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

        });

    }

});
于 2012-04-20T18:28:26.977 回答