使用.load()函数刷新div

时间:2013-01-06 05:34:13

标签: html jquery

$(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 使用函数加载页面后,在 #container $('#container').load('contents/' + page + '.html') 然后 nivoSlider 无效。 我必须刷新整个页面才能刷新div。因此,每次将页面加载到div div 时,我都需要一个代码来刷新#container

1 个答案:

答案 0 :(得分: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();
    });
});