当我将“菜单隐藏”代码放入我的外部脚本文件中时,为什么不起作用?

时间:2018-03-08 00:49:43

标签: javascript jquery

我的网页/js/common.js附有<head>个文件,然后是我的页面/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>,会降低页面加载速度。

有人可以解释为什么当我放入common.js文件时,我的'菜单隐藏'javascript无效吗?

1 个答案:

答案 0 :(得分:1)

检查您是否正确调用了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>