每次我重复点击时,jquery transitionend函数都会提示

用户名

如何防止openContent(); $("#load-content").on("transitionend每次我单击时都一下.show-content???

我不确定如何阻止它transitionend被踢!请heeeelp

$('.show-content').on('click', function (e) {
  e.preventDefault();
  openContent();
});
$('#load-content').on('click','.prev',function (e){
  e.preventDefault();
  closeContent(this);
});
function openContent(){  
    $('#load-content').load('../views/product-page.html');
    $('.container').addClass('loaded');
    $("#load-content").on("transitionend webkitTransitionEnd oTransitionEnd MSTransitionEnd", function () {
    $(this).addClass('animate');
    var body = $("body,html");
    body.animate({
      scrollTop: 0
    }, 800);
});
}
function closeContent(ele){
    var Loaded = !$(ele).closest('.container').hasClass('loaded');
    if (!Loaded) {
        $('.animate').removeClass('animate');
        $("#load-content").on("transitionend webkitTransitionEnd oTransitionEnd MSTransitionEnd", function () {
            $('.loaded').removeClass('loaded');
            $('#show-content').remove();
        });
    }           
}
用户名

通常,您应该为事件命名,并在off触发事件之后对事件进行命名

$el.on('transitionend.mynamespace' function(){
    $el.off('transitionend.mynamespace')
});

例子:

$dropdown.on('transitionend.fadein' function() {
    // some function to be called on transitionend
    doSomething();
    // event will not be called again
    $dropdown.off('transitionend.fadein')
});

更新


适应您的代码

(您也使用了太多过渡过渡者)

我用e子命名空间创建了一个命名空间,所以现在您可以说
.off('transitionend.loadcontent ')
.off('transitionend.loadcontent.open ')
.off('transitionend.loadcontent.close ')

尝试哪个可以满足您的需求

您通常应该阅读以下内容:http : //api.jquery.com/event.namespace/

而且代码看起来也不是太神奇了。
您应该考虑使用更常用的编码样式和缓存选择器,以提高可读性和性能。例如"'由于您使用的是混合引号,因此我全部替换为。也许在您的编辑器中运行jsHint并缓存不止一次需要的所有元素。但这对于工作而言并不重要。

$('.show-content').on('click', function(e) {
    e.preventDefault();
    openContent();
});
$('#load-content').on('click', '.prev', function(e) {
    e.preventDefault();
    closeContent(this);
});

function openContent() {
    $('#load-content').load('../views/product-page.html');
    $('.container').addClass('loaded');
    $('#load-content').on('transitionend.loadcontent.open webkitTransitionEnd.loadcontent.open', function() {
        $(this).addClass('animate');
        var body = $('body,html');
        body.animate({
            scrollTop: 0
        }, 800);
        $('#load-content').off('transitionend.loadcontent.open webkitTransitionEnd.loadcontent.open');
    });
}

function closeContent(ele) {
    var Loaded = !$(ele).closest('.container').hasClass('loaded');
    if (!Loaded) {
        $('.animate').removeClass('animate');
        $('#load-content').on('transitionend.loadcontent.close webkitTransitionEnd.loadcontent.close', function() {
            $('.loaded').removeClass('loaded');
            $('#show-content').remove();
        });
        $('#load-content').off('transitionend.loadcontent.close webkitTransitionEnd.loadcontent.close');
    }
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

每次运行函数时,我的 matplotlib 条形图都会重复,如何刷新条形图?

来自分类Dev

每次登录时bash提示都会重置

来自分类Dev

swift 4 标签,每次我点击按钮时,标签都会显示一个不同的词

来自分类Dev

我每次启动Windows时都会收到“ STOP:0x0000007E”蓝屏提示

来自分类Dev

每次我开始在Chrome中输入网址时,都会提示输入错误的网址

来自分类Dev

Firebase和Express,每次更改Firebase的值时,我的api都会发送重复的响应

来自分类Dev

每次我点击一个元素时,我都会得到一个名为 jquery.mousewheel.min.js 的文件被创建多次并冻结我的浏览器

来自分类Dev

为什么每次我开始我的函数时我都会得到 NaN

来自分类Dev

当我尝试显示我的 Json 响应(改造)时,每次在我的卡片视图中都会重复相同的元素

来自分类Dev

每次点击都会调用该函数两次

来自分类Dev

IntelliJ每次点击时都会添加额外的*注释

来自分类Dev

jQuery:每次新点击都会不同地改变CSS

来自分类Dev

jQuery每次点击都会为变量添加值

来自分类Dev

jQuery每次点击都会迭代一次

来自分类Dev

Vue.js-为什么函数每次都会重复?

来自分类Dev

每次运行使用SQL Impala中的Lead函数的我时,都会得到不同的结果

来自分类Dev

每次我按下按钮时,jQuery都会阻止添加倍增

来自分类Dev

每次打开视图时,模糊效果都会重复

来自分类Dev

pyautogui每次点击都会崩溃

来自分类Dev

每次点击都会重置DispatchQueue

来自分类Dev

每次调用函数时,scrollTop都会复制值

来自分类Dev

每次使用变量时都会调用 PHP 函数吗?

来自分类Dev

每次使用 Number() 函数时都会出错

来自分类Dev

每次我旋转图像时,我的系统内存都会增加

来自分类Dev

每次打开工作表时,函数都会重新计算,我只希望它在编辑时重新计算

来自分类Dev

每次调用都会完成PHP函数吗?

来自分类Dev

每次启动时都会通知您,提示“此应用已不再可用”。

来自分类Dev

每次我打开Visual Studio时登录信息都会失败

来自分类Dev

每次我按“ Android Studio”按钮时都会崩溃

Related 相关文章

  1. 1

    每次运行函数时,我的 matplotlib 条形图都会重复,如何刷新条形图?

  2. 2

    每次登录时bash提示都会重置

  3. 3

    swift 4 标签,每次我点击按钮时,标签都会显示一个不同的词

  4. 4

    我每次启动Windows时都会收到“ STOP:0x0000007E”蓝屏提示

  5. 5

    每次我开始在Chrome中输入网址时,都会提示输入错误的网址

  6. 6

    Firebase和Express,每次更改Firebase的值时,我的api都会发送重复的响应

  7. 7

    每次我点击一个元素时,我都会得到一个名为 jquery.mousewheel.min.js 的文件被创建多次并冻结我的浏览器

  8. 8

    为什么每次我开始我的函数时我都会得到 NaN

  9. 9

    当我尝试显示我的 Json 响应(改造)时,每次在我的卡片视图中都会重复相同的元素

  10. 10

    每次点击都会调用该函数两次

  11. 11

    IntelliJ每次点击时都会添加额外的*注释

  12. 12

    jQuery:每次新点击都会不同地改变CSS

  13. 13

    jQuery每次点击都会为变量添加值

  14. 14

    jQuery每次点击都会迭代一次

  15. 15

    Vue.js-为什么函数每次都会重复?

  16. 16

    每次运行使用SQL Impala中的Lead函数的我时,都会得到不同的结果

  17. 17

    每次我按下按钮时,jQuery都会阻止添加倍增

  18. 18

    每次打开视图时,模糊效果都会重复

  19. 19

    pyautogui每次点击都会崩溃

  20. 20

    每次点击都会重置DispatchQueue

  21. 21

    每次调用函数时,scrollTop都会复制值

  22. 22

    每次使用变量时都会调用 PHP 函数吗?

  23. 23

    每次使用 Number() 函数时都会出错

  24. 24

    每次我旋转图像时,我的系统内存都会增加

  25. 25

    每次打开工作表时,函数都会重新计算,我只希望它在编辑时重新计算

  26. 26

    每次调用都会完成PHP函数吗?

  27. 27

    每次启动时都会通知您,提示“此应用已不再可用”。

  28. 28

    每次我打开Visual Studio时登录信息都会失败

  29. 29

    每次我按“ Android Studio”按钮时都会崩溃

热门标签

归档