1

スティッキー ナビゲーション動作を作成しようとしていますが、jQuery スクリプトが機能していないか、読み込まれていないようです。

これは私のhtmlです:

<html>
<head>
<title>Title</title>
<link rel="stylesheet" type="text/css" href="css/style.css" />
</head>
<body>
  <div id="logo-menu">
    <div id="main-menuid">
    <ul>
    <li><a href="#home">Home</a></li>
    <li><a href="#about">About</a></li>
    <li><a href="#menu">Menu</a></li>
    <li><a href="#contact">Contact</a></li>
    </ul>
    </div>
  </div>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.6.4/jquery.js" type="text/javascript"></script>
<script src="js/source.js" type="text/javascript"></script>
</body>
</html>

スティッキー ナビゲーションをテストするために、ページを下にスクロールさせるマークアップがいくつかあります。

これは source.js です:

(function() {
    // STICKY NAV
        console.log('hi')

    var $nav = $('#logo-menu'),
        navTop = $nav.offset().top,
        $navClone = $nav.clone(true)
            .hide()
            .addClass('sticky')
            .insertBefore($nav);

    $(window).scroll(function() {
        if ($(this).scrollTop() > navTop) {
            $navClone.show();
        } else {
            $navClone.hide();
        }


    });

console.log('hi')firebugコンソールにも表示されません。何か案が?または私は何かを逃しましたか?ティア!

4

3 に答える 3

2

関数は括弧で囲まれています。関数本体を削除すると、次のようになります。

(function() {});

自己実行関数を作成したかったと思います。その場合、実際に関数を実行するための2番目の括弧のセットがありません:

(function() {})();

または、jQuery の短縮形を使用しようとして$(document).readyいた場合は、次のものがありません$

$(function() {});
于 2011-10-06T10:15:14.063 に答える
1

関数を実行していません。

()次のように関数に追加してみてください。(function(){})()

于 2011-10-06T10:13:21.303 に答える
1

先頭に $ がありません。

この部分を編集

(function() {

このような

$(function() {
于 2011-10-06T10:16:07.923 に答える