0
$(document).ready(function(){
$('#container').load('contents/home.html');
$('#nav ul#navigation li a').click(function(){
        var page = $(this).attr('href');
        $('#container').fadeOut('slow').load('contents/' + page + '.html').fadeIn('slow');
        return false;
    });
});

これは、divコンテナー内にページをロードするときにうまく機能します。 home.htmlを含むnivoSlider、ページ全体が更新されている場合はうまく機能しますが、機能を使用してページをロード home.htmlした後に再度ロードすると、機能しません。を更新するためだけにページ全体を更新する必要があります。したがって、ページを div にロードするたびに更新するコードが必要です。#container$('#container').load('contents/' + page + '.html')nivoSliderdivdiv#container

4

1 に答える 1

1

独自の知識をコード内の 1 か所にカプセル化してください。何かを更新する必要がある場合は、これを 1 か所にまとめてから、必要に応じて呼び出してください。コードは次のようになります。

$(document).ready(function() {
    var container = $('#container');
    function loadContent(url, callback) {
        return container.load(url, {}, function () {
            // Add code here to refresh nivoSlider

            // Run a callback if exists
            if (callback) {
                callback();
            }
        });
    }
    loadContent('contents/home.html');

    $('#nav ul#navigation li a').click(function (event) {
        var page = $(this).attr('href');
        container.fadeOut('slow').loadContent('contents/' + page + '.html').fadeIn('slow');
        event.preventDefault();
    });
});
于 2013-01-06T05:45:07.837 に答える