0

次のようなドロップダウン メニューがあります。

ただし、特定のスクロール範囲でページの上部に div 要素を固定したかったので、次のコードを head に追加しました。

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js" type="text/javascript"></script>
<script type="text/javascript">
// <![CDATA[
$(window).scroll(function(e){
    $el = $('.fixedElement');
    if ($(this).scrollTop() > 1437 && $el.css('position') != 'fixed'){
        $('.fixedElement').css({'position': 'fixed', 'top': '0px'});
    }
    if ($(this).scrollTop() < 1437 && $el.css('position') != 'absolute'){
        $('.fixedElement').css({'position': 'absolute', 'top': '1437px'});
    }
});
// ]]>
</script>

.fixedElementCSS私のファイルで定義され、次に参照されます

<div class="fixedElement">

今、ドロップダウン メニューは次のようになります。

new をコメントアウトするjavascriptと、メニューは通常に戻ります。

javascriptドロップダウン メニューを使用して新しい作品を作成する方法について何かアイデアはありますか?

ありがとう!

編集:

ドロップダウンに関連する 1 つのコンソール エラーjavascriptは次のとおりです。

Uncaught TypeError: Object #<Object> has no method 'getElements'

それはこの行を参照しています:

var links = $(this.options.id).getElements('a');

この JavaScript では: MenuMatic

new をコメントアウトするjavascriptと、エラーが消えてメニューが戻ってきます!

4

1 に答える 1

0

とった。

私のドロップダウンjavascriptは MooTools ライブラリを使用していましたが、スティッキー div は jQuery を使用していました。

jQuery は「jQuery」のショートカットとして「$」を使用するため、この行は

var links = $(this.options.id).getElements('a');

javascriptjQuery が "$" の定義を上書きしたため、MooTools ライブラリから参照するとエラーがスローされます。

この競合は、挿入することで解決されます

jQuery.noConflict();

jQueryスクリプトの前に、jQueryスクリプトのすべての「$」を「jQuery」に置き換えます

詳細はこちら: http://docs.jquery.com/Using_jQuery_with_Other_Libraries

以下も参照してください。

jQuery やその他のライブラリ、および「$」の使用法

jQueryの記号$の意味は何ですか?

于 2012-07-30T17:55:48.453 に答える