我一直试图在jquery中制作幻灯片,其中图片会在页面加载后立即开始旋转,但是当有人在图片上方悬停时,幻灯片会暂停,然后在鼠标离开图像时继续播放。我试过这个:
function start_slideshow(){
var images = $("#galerija img");
var img_num = images.length;
var counter=-1;
var ciklus = window.setInterval(function () {
if (counter == img_num) {
counter = 0;
}
else{
counter++;
}
$('#glavna_slika img').attr('src',$(images[counter]).attr('src'));
}, 3000);
}
$(document).ready(function(){
start_slideshow;
$("#galerija img").hover(function(){
$('#glavna_slika img').attr('src',$(this).attr('src'));
window.clearInterval(ciklus);
}, start_slideshow);
});
但是在加载页面时不调用该函数(尽管回调函数有效)。如果我没有将start_slideshow()的代码封装在一个函数中,我不知道如何恢复自动图像旋转,如果我确实将它保留在函数中,我就不知道怎么做它在页面加载时执行。
答案 0 :(得分:0)
您遗漏了()
start_slideshow()
答案 1 :(得分:0)
你忘记了函数调用的():
$(document).ready(function(){
start_slideshow(); // <--- here
$("#galerija img").hover(function(){
$('#glavna_slika img').attr('src',$(this).attr('src'));
window.clearInterval(ciklus);
}, start_slideshow);
});
答案 2 :(得分:0)
使用括号调用方法。即start_slideshow(); 否则你只是写出变量,比如“你好世界”;或42;
您也可以将方法作为变量提供,但如果没有括号,它们将永远不会被执行!
答案 3 :(得分:0)
您的函数“start_slideshow”未在加载时调用。
使用start_slideshow();