首页 > 解决方案 > appme 主题中的菜单与 wordpress 中的哈希 id 不同步

问题描述

我在 wordpress 上使用 appme 主题,除了活动菜单外,一切都运行良好。

https://themes.athenadesignstudio.com/?theme=appme_wp

如果您单击链接并单击菜单,您会看到它与单击的内容不同步。例如:如果您单击功能,主页将处于活动状态,如果您单击屏幕截图,功能将处于活动状态并且在不同浏览器上的行为也不同。

标签: javascriptjquerywordpresswordpress-theming

解决方案


在 appme 文件夹的 main.js 文件中,转到这一行,如您所见scrollTop: h-offset,为了解决问题,我已将其更改为scrollTop: (h-offset)+10. 这将进一步滚动该部分,并且我们设置为这样,直到修复。

//Menu
menu:function() {
        //Slick nav
        jQuery(".main-navigation").slicknav({
                prependTo:"#responsive-menu",
                label:"",
                closeOnClick:true
        });

        //Submenu
        jQuery(".nav li").on("mouseenter", function() {
                jQuery(this).children("ul").stop().slideDown(200);
        });

        jQuery(".nav li").on("mouseleave", function() {
                jQuery(this).children("ul").stop().slideUp(200);
        });

        //Header menu
        jQuery(document).on("click", "#navigation ul li a, #responsive-menu ul li a", function() {
                try {
                        var id = jQuery(this).attr("href");
                        var h = parseFloat(jQuery(id).offset().top);
                        var offset = parseInt(jQuery("body").data("offset"), 10);

                        jQuery("body, html").stop().animate({
                                scrollTop:(h-offset)+10
                        }, 800);

                        return false;
                } catch(err) {}
        });

        //Sticky navigation
        if (AppMeOptions.navigation==="sticky") {
                jQuery(window).scroll(function() {
                        if (jQuery(window).scrollTop()>200) {
                                jQuery(".navbar").addClass("sticky-header");
                        } else {
                                jQuery(".navbar").removeClass("sticky-header");
                        }
                });
        }
},

推荐阅读