为什么当我将"菜单隐藏"代码放在外部脚本文件中时它不起作用?



我在网页的<head>附加了一个/js/common.js文件,然后我的页面文件/about.aspx

<script src='/js/common.js'></script>
<script src='/js/modernizr-custom.js'></script>
<script type="text/javascript" src="//code.jquery.com/jquery-1.11.0.min.js"></script>

能听出这个问题有多愚蠢,我确实道歉,但它让我很恼火,为什么我无法弄清楚。

此处的代码显示和隐藏导航:

var didScroll;
/* more variables .. */
$(window).scroll(function (event) {
    didScroll = true;
});
setInterval(function () {
    if (didScroll) {
        hasScrolled();
        didScroll = false;
    }
}, 250);
function hasScrolled() {
    var st = $(this).scrollTop();
    /* Rest of code */
}

我的common.js文件具有以下结构:

// Declarations
var pageLoaded = false;
var fontsLoaded = false;
// Wrapper 
function wrapperWidth() {
    return parseFloat(document.getElementById("wrapper").offsetWidth);
}
// And so on.. 
//-----------------------
// jQuery Initialisation
//-----------------------
$(document).ready(function () {

    //Set variables on page load
    $(window).load(function () {
        pageLoaded = true;
        fontsLoaded = true;
    });
});

如果我将js隐藏在外部.js文件common.js中的滚动菜单,javascript 不起作用,我不知道为什么?

目前,我将其放在每个页面上的结束</body>标签之前。

我希望能够将我的 javascript 放在一个地方 1( 以便可以轻松找到它进行维护,2( 最重要的是,为了加快加载时间,因为一个人拥有的标签越多<script></script>,就会减慢页面加载速度。

有人可以解释为什么我的"菜单隐藏"javascript在我放置在common.js文件中时不起作用吗?

检查你是否正确调用了你的 common.js 和 jquery min.js

按以下给定顺序调用

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.3/jquery.min.js"></script>
<script type="text/javascript" src="js/common.js"> </script>

最新更新