页脚中的Javascript未在Wordpress中加载

安全

我有以下代码用于在Wordpress网站上隐藏和显示导航栏:

$(document).scroll(function() {
    var y = $(this).scrollTop();
    if (y > 800) {
        $("#pn-navigation-bar").fadeIn();
    } else {
        $("#pn-navigation-bar").fadeOut();
    }
});


var prevScrollpos = window.pageYOffset;
window.onscroll = function() {
    var currentScrollPos = window.pageYOffset;
    if (prevScrollpos < currentScrollPos) {
        document.getElementById("pn-navigation-bar").style.opacity = 0;
        document.getElementsByClassName("readingProgressbar")[0].style.display = "block";
    } else if (prevScrollpos > currentScrollPos) {
        document.getElementById("pn-navigation-bar").style.opacity = 1;
        document.getElementsByClassName("readingProgressbar")[0].style.display = "none";

    }
    prevScrollpos = currentScrollPos;
};

以及以下CSS,以防止其在首次加载页面时加载:


#pn-navigation-bar {
     position: fixed;
  top: 0;
  width: 100%;
  transition: all .3s ease-in-out;
 display: none;
}

理想情况下,应该在用户向下滚动时隐藏下面显示的导航栏,并在检测到向上滚动时显示它。

在此处输入图片说明

但是,如您所见,如果您访问此处的网站,则不会发生。直到几天前,它都可以正常工作,但我不知道出了什么问题。我一直在优化网站的速度(JS / CSS最小化),但是我怀疑这会受到影响。我该怎么做才能解决此问题?

安全

根据用户@mplungjan和@Howard E的建议,Wordpress运行jQuery.noConflict。为防止与其他JS库冲突,Wordpress不会将其识别$为JQuery代码,通常期望Jquery代替传统的$

要解决此问题,最简单的方法是映射$JQuery

根据本文,此代码为:

(function($) {
    
//Insert Code Here
    
})( jQuery );

要更正错误,代码将变为:

<script>
(function($) {
    
    $(document).scroll(function() {
    var y = $(this).scrollTop();
    if (y > 800) {
        $("#pn-navigation-bar").fadeIn();
    } else {
        $("#pn-navigation-bar").fadeOut();
    }
});


var prevScrollpos = window.pageYOffset;
window.onscroll = function() {
    var currentScrollPos = window.pageYOffset;
    if (prevScrollpos < currentScrollPos) {
        document.getElementById("pn-navigation-bar").style.opacity = 0;
        document.getElementsByClassName("readingProgressbar")[0].style.display = "block";
    } else if (prevScrollpos > currentScrollPos) {
        document.getElementById("pn-navigation-bar").style.opacity = 1;
        document.getElementsByClassName("readingProgressbar")[0].style.display = "none";

    }
    prevScrollpos = currentScrollPos;
};  
})( jQuery );
</script>

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Javascript未加载Wordpress页脚

来自分类Dev

Javascript未加载Wordpress页脚

来自分类Dev

图像未在Angular 9中加载

来自分类Dev

JavaScript代码未在页脚CSS中执行

来自分类Dev

link_to链接未在Rails中加载javascript

来自分类Dev

JavaScript文件未在express / node.js中加载

来自分类Dev

Javascript Filepicker 未在 Filemaker Pro Webviewer 中加载

来自分类Dev

Spring应用程序未在tomcat 7.0.47中加载,但正在Tomcat 7.0.34中加载

来自分类Dev

SQL Server中的图层未在Geoserver中加载

来自分类Dev

网页未在IE11中的iframe中加载

来自分类Dev

application.js中的代码未在Rails中加载

来自分类Dev

R软件包未在15.10中加载

来自分类Dev

R软件包未在15.10中加载

来自分类Dev

Angular JS模块未在IE 9中加载

来自分类Dev

内容中的第3方脚本未在Durandal中加载

来自分类Dev

图像未在html画布中的首次调用中加载

来自分类Dev

rJava未在R中加载

来自分类Dev

Favicon未在Chrome中加载

来自分类Dev

字体未在Reactjs中加载

来自分类Dev

图像未在pygame中加载

来自分类Dev

模板未在angularjs中加载?

来自分类Dev

CSS未在Codeigniter中加载

来自分类Dev

CSS 未在 CI 中加载

来自分类Dev

图像未在 JPanel 中加载

来自分类Dev

自定义模板页面标题未在wordpress中加载style.css

来自分类Dev

在Wordpress插件中加载自定义JavaScript

来自分类Dev

PHP mbstring已加载到CLI中,但未在Web中加载

来自分类Dev

Javascript 代码未在 Wordpress 页面中运行

来自分类Dev

MapView控件未在ViewPager中加载