Click事件不止一次出现

时间:2015-05-27 23:35:14

标签: jquery html css html5 jquery-ui

当用户点击徽标时,登录表单会翻转。它的功能正常,但当用户点击登录表单输入电子邮件和密码时,它会再次翻回徽标。

如果翻转后如何停止翻转?

html示例了解



Math.pow

$(document).ready(function () {
    $('.flipWrapper').click(function () {
        $(this).find('.card').toggleClass('flipped');
        return false;
    });
});

.flipWrapper {
    background: none;
    -webkit-perspective: 1000;
    position: relative;
    margin: 50px auto;
}
.flipWrapper .card.flipped {
    -webkit-transform: rotatey(180deg);
    background: none;
}
.flipWrapper .card {
    width: 100%;
    height: 100%;
    -webkit-transform-style: preserve-3d;
    -webkit-transition: 0.5s;
}
.flipWrapper .card .face {
    width: 100%;
    height: 100%;
    position: absolute;
    -webkit-backface-visibility: hidden;
    z-index: 2;
}
.flipWrapper .card .front {
    position: absolute;
    z-index: 1;
    cursor: pointer;
}
.flipWrapper .card .back {
    -webkit-transform: rotatey(-180deg);
    cursor: pointer;
}




3 个答案:

答案 0 :(得分:-1)

我认为你正在寻找这个:

$(document).ready(function () {
    $('.flipWrapper').click(function () {
        if(!$(this).hasClass('fliped')){
            $(this).find('.card').addClass('flipped');
        }
        return false;
    });
});

首先,您需要查找您的元素是否已经全部点击过。你这样做是通过检查课程" fliped"被添加到它。如果不是,则使用.addClass('classToAdd')方法添加它。

答案 1 :(得分:-1)

您正在使用相同的侦听器进行背面点击,因此它也会翻转。

试试这个:

$(document).ready(function () {
   $('.front').click(function () {
    $('.flipWrapper').find('.card').toggleClass('flipped');
    return false;
   });
});

http://plnkr.co/edit/jJhBXD763tRBAkqkXr27?p=preview

这样你只会听到正面的点击。

答案 2 :(得分:-2)

您可以使用条件只进行一次动画,例如:

if(!$(this).hasClass('fliped')) $(this).find('.card').addClass('flipped');