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

林德斯特罗姆1989

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

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

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

这是我的菜单js。我要指出的是,如果您的点击链接通过菜单有效,但不能滚动: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

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

来自分类Dev

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

来自分类Dev

手机引导程序切换

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

Eclipse无法检测到我的手机

来自分类Dev

无法通过ADB检测到Android手机

来自分类Dev

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

来自分类Dev

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

来自分类Dev

切换div(锚点单击除外)

来自分类Dev

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

来自分类Dev

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

来自分类Dev

Unity 在手机上切换武器

来自分类Dev

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

来自分类Dev

手机菜单问题

来自分类Dev

手机菜单CSS

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

切换菜单未显示-Bootstrap 3

Related 相关文章

  1. 1

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

  2. 2

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

  3. 3

    手机引导程序切换

  4. 4

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

  5. 5

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

  6. 6

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

  7. 7

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

  8. 8

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

  9. 9

    Eclipse无法检测到我的手机

  10. 10

    无法通过ADB检测到Android手机

  11. 11

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

  12. 12

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

  13. 13

    切换div(锚点单击除外)

  14. 14

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

  15. 15

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

  16. 16

    Unity 在手机上切换武器

  17. 17

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

  18. 18

    手机菜单问题

  19. 19

    手机菜单CSS

  20. 20

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

  21. 21

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

  22. 22

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

  23. 23

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

  24. 24

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

  25. 25

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

  26. 26

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

  27. 27

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

  28. 28

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

  29. 29

    切换菜单未显示-Bootstrap 3

热门标签

归档