手机未检测到锚点更改以切换菜单

林德斯特罗姆1989

嗨,我使用fullpage.js创建了一个网站,该网站很棒并且可以在各部分(整页)之间滚动,但是在移动设备上可能难以导航,因此当宽度小于640px时,我使其连续滚动。

我有一个菜单,当锚从主页更改后,该菜单向下切换;当锚是主页时,该菜单向后切换。这是因为主页上有内置菜单,因此不需要第二个菜单。

在手机上连续滚动后,此功能不起作用,但仍可在计算机浏览器上使用。我不知道我是否正在寻找某些东西,或者是否可以为菜单切换编写更好的脚本。请查看www.themeltingpotkitchen.com以了解我的意思。

这是我的菜单js。我要指出的是,如果您的Tap通过菜单链接,它将起作用,但不能通过滚动:s

// detect anchor change and hide or show menu
        function locationHashChanged() {
            var hash = location.hash;
            var id = hash.replace(/^#/, '');
            // logic
            if (id == 'Home') {
                $("#nav_hide").slideUp();
            } else if (id == 'About') {
                $("#nav_hide").slideDown();
            } else if (id == 'Trailer') {
                $("#nav_hide").slideDown();
            } else if (id == 'Food') {
                $("#nav_hide").slideDown();
            } else if (id == 'Contact') {
                $("#nav_hide").slideDown();
            }
        }
        window.onhashchange = locationHashChanged;

        // if loaded page is home hide menu
        var hashVal = window.location.hash.split("#")[1];

        var p = window.location.pathname.split("/");
        var filename = p[p.length-1];

        if(hashVal == 'Home', filename == 'index.html') {
            $("#nav_hide").hide();
        }
阿尔瓦罗

您不应该使用URL中的更改来触发任何操作。这不是使用fullPage.js的方法。您应该使用插件提供的回调,例如onLeaveafterLoad或者,您甚至可以按照本教程中的建议使用添加到body元素中的类

原因是因为由于Mobile Chrome中的位置哈希行为存在问题, fullPage.js不会更改位置哈希,而是将HTML5历史记录API用于手机

//Mobile Chrome doesn't work the normal way, so... lets use HTML5 for phones :)
if (isTouchDevice || isTouch) {
    history.replaceState(undefined, undefined, '#' + url);
} else {
    var baseUrl = window.location.href.split('#')[0];
    window.location.replace(baseUrl + '#' + url);
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

手机的基本jQuery切换菜单不起作用

来自分类Dev

adb设备无法在MAC上检测到Android手机

来自分类Dev

错误:部署失败,因为未检测到Windows Phone 8手机

来自分类Dev

手机未检测到锚点更改以切换菜单

来自分类Dev

切换菜单未显示-Bootstrap 3

来自分类Dev

手机菜单问题

来自分类Dev

如何以编程方式在手机的键盘之间切换

来自分类Dev

iOS从手机到Macbook Safari / Chrome的切换

来自分类Dev

切换div(锚点单击除外)

来自分类Dev

如何使用引导程序(台式机/智能手机)切换列的位置?

来自分类Dev

是否检测到某个区域内有两部手机的移动?

来自分类Dev

在div和切换菜单外检测点击

来自分类Dev

如何使用jQuery动态更改以禁用切换

来自分类Dev

切换AppBarButton可见性和可视状态时出现“未检测到安装的组件”错误

来自分类Dev

手机菜单CSS

来自分类Dev

无法通过MTP检测到设备(TCL Idol X S950手机)

来自分类Dev

使用锚点切换多个选择选项

来自分类Dev

adb设备无法在MAC上检测到Android手机

来自分类Dev

Eclipse无法检测到我的手机

来自分类Dev

将切换方法更改为listView,以删除手机内部存储器中的文件

来自分类Dev

检测到手机时更改表单操作网址?

来自分类Dev

iOS从手机到Macbook Safari / Chrome的切换

来自分类Dev

手机引导程序切换

来自分类Dev

无法通过ADB检测到Android手机

来自分类Dev

Windows 10检测到USB闪存驱动器,但未检测到USB相机或智能手机

来自分类Dev

没有检测到使用USB连接到PC的任何手机

来自分类Dev

尽管 ADB 成功检测到手机,但未检测到 USB 设备或正在运行的模拟器

来自分类Dev

20.04更新后,使用usb线连接时未检测到手机

来自分类Dev

Unity 在手机上切换武器

Related 相关文章

  1. 1

    手机的基本jQuery切换菜单不起作用

  2. 2

    adb设备无法在MAC上检测到Android手机

  3. 3

    错误:部署失败,因为未检测到Windows Phone 8手机

  4. 4

    手机未检测到锚点更改以切换菜单

  5. 5

    切换菜单未显示-Bootstrap 3

  6. 6

    手机菜单问题

  7. 7

    如何以编程方式在手机的键盘之间切换

  8. 8

    iOS从手机到Macbook Safari / Chrome的切换

  9. 9

    切换div(锚点单击除外)

  10. 10

    如何使用引导程序(台式机/智能手机)切换列的位置?

  11. 11

    是否检测到某个区域内有两部手机的移动?

  12. 12

    在div和切换菜单外检测点击

  13. 13

    如何使用jQuery动态更改以禁用切换

  14. 14

    切换AppBarButton可见性和可视状态时出现“未检测到安装的组件”错误

  15. 15

    手机菜单CSS

  16. 16

    无法通过MTP检测到设备(TCL Idol X S950手机)

  17. 17

    使用锚点切换多个选择选项

  18. 18

    adb设备无法在MAC上检测到Android手机

  19. 19

    Eclipse无法检测到我的手机

  20. 20

    将切换方法更改为listView,以删除手机内部存储器中的文件

  21. 21

    检测到手机时更改表单操作网址?

  22. 22

    iOS从手机到Macbook Safari / Chrome的切换

  23. 23

    手机引导程序切换

  24. 24

    无法通过ADB检测到Android手机

  25. 25

    Windows 10检测到USB闪存驱动器,但未检测到USB相机或智能手机

  26. 26

    没有检测到使用USB连接到PC的任何手机

  27. 27

    尽管 ADB 成功检测到手机,但未检测到 USB 设备或正在运行的模拟器

  28. 28

    20.04更新后,使用usb线连接时未检测到手机

  29. 29

    Unity 在手机上切换武器

热门标签

归档