$(window).load与window.addEventListener

时间:2015-10-13 13:38:51

标签: javascript jquery

有什么区别:

<img id="image" src="test_image.php">

$(window).load(function() {
loadSlideShow();
}); 

函数loadSlideShow()创建幻灯片;它等待加载所有图像,然后将控件添加到幻灯片中,位于图像的中间(它将控件的位置基于图像的高度)。

使用window.addEventListener时,有时会在实际加载图像之前添加控件。因此图像高度为0,控件将放置在幻灯片放映的最顶部,而不是放在中间。

一旦我改为$(window).load,错误就消失了。

我不确定为什么两者之间会有所不同。

1 个答案:

答案 0 :(得分:3)

这段代码执行错误会产生影响:

window.addEventListener('load',loadSlideShow());

应该是:

window.addEventListener('load',loadSlideShow);

你这样做的方法是立即调用loadSlideShow()而不等待事件。更正后的方式与jQuery版本的操作方式相同。