.load jquery函数在使用特定div时不起作用

jho*_*ara 1 jquery load

这条线不起作用

$('#bookcontainer').load( startSlide );
Run Code Online (Sandbox Code Playgroud)

而这条线确实如此

$(window).load( startSlide );
Run Code Online (Sandbox Code Playgroud)

#bookcontainer是一个div包含四个图像.

这是我的整个代码:

// JavaScript Document
$('#bookcontainer').load( startSlide );

var slide;

$('#slider').hover( 
function() {
        $('.arrow').show();
}, 
function() {
        $('.arrow').hide();
});

function startSlide() {
    $('.book').show();
    slide = setInterval(slideR, 5000);   
}


function slideR() {
    $('.book').first().css('left', '960px').appendTo('#bookcontainer').animate(
    {
        "left": "-=960px"
    }, {
        duration: 1000,
        easing: 'easeOutCubic'
    });

}


function slideL() {
    $('.book').last().animate(
    { "left":"+=960px" }, {
        duration: 1000,
        easing: 'easeOutCubic',
        complete: function() {
        $(this).prependTo('#bookcontainer').css('left', '0px');   
        }
    });

}


function right() {
    clearInterval(slide);
    slideR();
    startSlide();
};


function left() {
    clearInterval(slide);
    slideL();
    startSlide();
};
Run Code Online (Sandbox Code Playgroud)

And*_*ker 6

load事件只能在与url关联的元素上处理.文档:

当load和所有子元素已完全加载时,load事件将发送到元素.此事件可以发送到与URL关联的任何元素:图像,脚本,框架,iframe和窗口对象.

如果您正在等待加载所有图像,则可以单独将事件处理程序应用于这些图像.

另外:$(window).load(...)在页面上的所有元素都被完全加载(包括图形)之前不会被触发,因此没有必要将事件绑定到a div以确保子元素已加载.

如果您正在发出AJAX请求并尝试检测何时加载了内容div,则应该startSlide成功回调您的AJAX请求.