【发布时间】:2017-08-02 02:28:12
【问题描述】:
我的菜单系统现在将在移动设备和桌面设备(以及悬停)时显示子菜单项。我正在尝试仅在移动设备上进行点击。
我尝试了 window.resize()、addEventListener 和 window.width(),但没有成功。我得到的最接近的是这个
jQuery(document).ready(function($) {
$(window).resize(function() {
if($(window).width() < '720') {
$('.dropdown').click(function(e) {
var childMenu = e.currentTarget.children[1];
if($(childMenu).hasClass('visible')) {
$(childMenu).removeClass('visible');
}else{
$(childMenu).addClass('visible');
}
});
}
});
});
如果我以非移动宽度加载我的页面,它会按预期工作(显示悬停,但不显示点击)然后调整到移动大小并在那里工作(显示点击)。当我将其展开时它停止工作(在悬停和单击时显示)然后将其缩小不起作用(在单击时不显示)然后在我调整屏幕时来回切换。
我在堆栈和其他网站上查看了许多解决方案。为了进行测试,我使用的是平板电脑,当垂直加载网站的移动版本时,水平加载桌面版本时。这样我就可以覆盖这两个基础,同时还可以测试旋转设备的人。
编辑:基于更多测试和 console.log,当我扩大屏幕时,我的窗口宽度从 690 变为 128.75。我没有最模糊的原因。该脚本基于 childMenu var 的 $(this).width()。更新了原始代码。还是不行
【问题讨论】: