我正在尝试编写一个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'});}
);
}
任何建议???
答案 0 :(得分:2)
听起来你只需要重写你的表达。问题是,当你应该只附加一个事件处理程序时,你正试图查看一个元素是否被“点击”。
$('.loginTrigger').click(function()
{
if('.register').css('marginTop') === '-200px')
{
// Do Stuff
}
});
答案 1 :(得分:2)
使用jquery制作一个jsfiddle,其中包含一个正确的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
}
});
答案 2 :(得分:1)
您正在调用click事件,我想您想要在click事件中添加一个事件......
$('.logintrigger').click( function(e){
if($('.register').css('marginTop') === '-200px'){
$('.registertrigger').toggle();
}
});
答案 3 :(得分: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'});
}
);
}
})
答案 4 :(得分:0)
$('.logintrigger').on('click', function(){
if($('.register').css('marginTop')==='200px') {
$('.registertrigger').toggle( function () {
$('.register').stop().animate({'marginTop': 0 },200);
$('#opencloseregister').css({'backgroundPosition':'-20px 0px'});
});
}
});