javascript - AJAX 和 jQuery 切换/点击状态(重置状态)

标签 javascript jquery html css ajax

.on 函数和与移动菜单相关的 AJAX 存在一个小问题。菜单位于 AJAX 内容驱动站点的页眉中,因此如果请求 AJAX 调用,页眉和页脚不会被调用,但这会丢弃我的移动菜单切换,因为“状态”正在丢失。

如果我单击一个图标(汉堡包图标)打开菜单,然后单击相同的图标关闭,在加载站点时,它工作正常,但是一旦我单击链接导航到另一个页面,它就会丢失它的状态,我得到了一些奇怪的结果(但公平地说,是真实的结果),它在一次点击中打开和关闭等等。

我之前使用过 slideToggle() 但我想我会使用一个类,所以我可以删除并添加该类以打开菜单,然后在页面加载完成后在 AJAX 回调中重置该类成功...

$('.menu-trigger').on('click touchstart', function(e) {
    var $this = $(this);
    if ($this.is('.non-active')) {
        $('.menu-trigger').addClass('active').removeClass('non-active');
        $('.menu').addClass('open');    
    } else {
        $('.menu-trigger').removeClass('active').addClass('non-active');                $('.menu').removeClass('open');
    }
});

$(document).on('pjax:end', function() {
    $('.menu-trigger').removeClass('active').addClass('non-active');
    $('.menu').removeClass('open');
});

有没有人有过这方面的经验,也许他们是如何解决的?

最佳答案

试试淡入淡出

   $('.element').fadeToggle('fast');

关于javascript - AJAX 和 jQuery 切换/点击状态(重置状态),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31538299/

相关文章:

javascript - 点击事件在 iframe 上不起作用?

jquery - 将OnClick Stop添加到音频

javascript - 如何禁用滚动文档正文?

javascript - polymer 、模板不会评估 true 和绑定(bind)

javascript - 反复缩小一个div的宽度

javascript - 将javascript转换为unityscript

javascript - 如果我用 jquery 得到 "top",这是什么意思?

javascript - 如何通过特定键过滤javascript中的对象

javascript - 使用 jQuery 检查复选框选中属性是否不为空

javascript - jQuery的滑动功能与CSS动画冲突