0

単一ページのスムーズなスクロールのために、全幅の背景画像と動的サイズの div を利用しているサイトがあります。

リンクはhttp://teneo.telegraphbranding.com/です。

サイドバーをリロードする必要がないように、ajax 経由で about.php をロードしたいのですが、うまくいきません。

サイドバーの [About] をクリックすると、About ページが正しく表示されません。コンテナがjqueryを無視しているようです。それらはサイドバーの横に突き出ている必要がありますが、下にある背景画像を除いて、それを通り過ぎてはなりません.

このスクリプトでページを読み込んでいます:

$(document).ready(function () {
var dropDown = $('.dropdown');
$('h3.about').on('click', function() {
    dropDown.slideDown('fast', function() {
        $('#index-wrap').load('about2.php');
    });
});
});

また、コンテンツを持たないが背景画像があり、画面いっぱいになるはずのいくつかの div をロードしていません。

$(document).ready(function () {
var snapshotWrap = $('#snapshot-wrap');
var w = $(window);
w.bind('load resize',function() {
    snapshotWrap.css({ width:w.width(), height:w.height()});
});

});

$(document).ready(function () {
var snapshotContent = $('#snapshot-content');
var w = $(window);
w.bind('load resize',function() {
    snapshotContent.css({ width:w.width() - 205 });
});

});

jquery/ajax を正しく使用してページをロードしていますか?

4

1 に答える 1

0

ページの要素を ajax でロードする場合、jquery がそれらの要素を使用できるようにするには、ロード後に新しい要素にイベント ハンドラーをアタッチする必要があります。.on() のドキュメントを調べて、これを行う方法を確認してください。そのページを読めば明らかです。また行き詰まった場合は、必ず新しい質問を作成してください。

したがって、.click() 関数を使用する代わりに、次のように言うことができます。

$("#object").on("click", function(event){
alert($(this).text());
});
于 2012-11-02T20:02:38.273 に答える