2017-01-30 55 views
0

我在prestashop内部实现了引导菜单。隐藏移动设备上的jquery代码

由于引导不支持悬停菜单(仅在点击后),我使用下面的代码:

$(document).ready(function(){ 
    if(window.innerWidth > 768){ 

     $('li.dropdown').hover(function() { 
      $(this).find('.dropdown-menu').first().stop(true, true).delay(200).slideDown(); 
     }, function() { 
      $(this).find('.dropdown-menu').first().stop(true, true).delay(200).slideUp(); 
     }); 

    } 
}); 

我想这个了slideDown悬停效果是在768以上的屏幕分辨率可见;而不是在移动设备上。但上面的代码并不真正起作用。

我也尝试使用下面的代码没有成功。

var winWidth = $(window).width(); 
if (winWidth > 768) {...} 

其他人一个想法;比jquery更擅长jquery的人。 非常感谢提前。

enter image description here

+0

它以什么方式不起作用? 'console.log(window.innerWidth)'显示什么? – Barmar

+0

window.innerWidth通常是1280,当调整到较小的视图时,它是691px。用691px的上下滑动也可以,但情况并非如此。将使用屏幕截图更新我的文章。 :) – kiarashi

+0

您的代码只在页面加载时运行。如果您调整大小,则不会再运行它。 – Barmar

回答

0

这样做的方式,你还可支持窗口通过检查宽度调整徘徊时:

$(document).ready(function() { 
    $('li.dropdown').hover(function() { 
     if ($(window).width() > 768) { 
      // expected behavior on large screen 
     } 
    }, function() { 
     if ($(window).width() > 768) { 
      // expected behavior on large screen 
     } 
    }) 
}); 

这是否帮助?

+0

是的,它的工作原理。谢谢! – kiarashi