当前位置:  开发笔记 > 编程语言 > 正文

香草javascript忽略第一个选项卡/单击

如何解决《香草javascript忽略第一个选项卡/单击》经验,为你挑选了0个好方法。

我有一个幻灯片菜单使用vanilla javascript在手机上使用,但到目前为止我所有的测试都导致移动浏览器忽略了第一次点击(尝试了touchstart和点击事件).从第二个水龙头开始,每次随后的水龙头都能很好地工作.

打开和关闭菜单是页面上唯一的javascript函数,我不想加载一个巨大的库,我想保持简单和小.我的代码如下:

var b = document.getElementById('menubtn');
b.addEventListener('touchstart', function (e) {
    var n = document.getElementById('nav');
    var ns = n.style.left;
    if (ns == "-600px") {
        n.style.left = "0px";
    } else {
        n.style.left = "-600px";
    }
    e.preventDefault();
});

有没有什么方法可以轻松消除第一次双击的需要?

在fwiw部门,它是一个响应式设计,导航菜单在大屏幕上的一列和电话上的幻灯片.


编辑:解决了问题

按照Matt Styles评论,我尝试使用classList.toggle并解决了这个问题.最终版本如下:

var b = document.getElementById('menubtn');
var n = document.getElementById('nav');
b.addEventListener('touchstart', function () {
    n.classList.toggle('shwmenu');
    setTimeout(function () {
        b.classList.toggle('shwmenu');
    }, 500);
});

我添加了延迟的menubtn代码以在关闭和打开状态之间切换图标.

推荐阅读
李桂平2402851397
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有