【问题标题】:jQuery slideUp not working on mobile devicesjQuery slideUp 无法在移动设备上运行
【发布时间】:2015-06-23 21:02:08
【问题描述】:

我有一个运行 Flatsome 主题的 Wordpress 网站,其中有一些带有使用 Custom Sidebar plugin 创建的侧边栏的页面,这些页面没有显示在菜单悬停上。我尝试使用下面的 jQuery 代码修复该故障

<script>
jQuery(document).ready(function () {

    jQuery(".widget_nav_menu .menu-item-has-children").hover(
        function () {
            jQuery('ul.sub-menu', this).slideDown('medium');
        }, 

        function () {
                jQuery('ul.sub-menu', this).slideUp('medium');
        }
    );

});
</script>

在任何计算机浏览器上都可以正常工作,但在移动设备(iPhone 和 iPad)上却不行,我不知道是什么原因造成的。

【问题讨论】:

  • 移动设备?像他们所有人一样?请指定,因为我知道它适用于某些 ;)
  • 因为移动设备不支持悬停。
  • @COOOL iPhone 和 iPad(已添加到帖子中)

标签: jquery wordpress mobile


【解决方案1】:

您不能在移动设备上悬停

jQuery(".widget_nav_menu .menu-item-has-children").hover( // change

在移动设备上以不同方式触发上述方法,例如使用 double tap hold

..或mousedown / mouse leave.


移动友好修改示例: (未经测试,但希望你明白,失败的不是.slideDown,而是.hover

jQuery(document).ready(function () {

    jQuery(".widget_nav_menu .menu-item-has-children").mouseout(function(){
        function () {
            jQuery('ul.sub-menu', this).slideDown('medium');
        }, 

        function () {
                jQuery('ul.sub-menu', this).slideUp('medium');
        }
    );

});

您的第二部分问题可能是 -- 如何维护 desktop 上的.hover 触发器并触发移动设备,正如我在only 移动设备上的建议

【讨论】:

  • 你不能在手机上测试悬停,考虑一下
  • 语法似乎有问题(鼠标移出后的函数)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-01-29
  • 2015-04-25
  • 2015-01-26
  • 2014-08-30
  • 2017-01-28
  • 2016-08-17
  • 1970-01-01
相关资源
最近更新 更多