javascript - 如何使用setInterval直到图像未加载?

标签 javascript jquery setinterval

我使用 setInterval 在鼠标悬停时更改图像,我希望仅在图像加载后再次调用设置间隔,或者下一个间隔出现。 以下是我的代码:

jQuery('.product').on('mouseover',function(){
timer = setInterval(function() {
  if (counter !== 0) {
    time = 2000;
  }
  if (counter === product_images.length) {
    counter = 0;
  }
  selector.attr('src', 'localhost/product/' + product_images[counter]);

  var loadImage = new Image();
  loadImage.src = selector.attr('src');
  loadImage.onload = function(){
     selector.show();
  };
  counter = counter + 1;
},1000);
});

我想要的是,在使用设置的间隔时间来显示下一张图像之前,下一张图像不应加载,直到上一张图像未加载...而那时我想显示加载图像

我如何使用 jquery Promise 或其他解决方案来做到这一点。 请帮助我...

还有一件事,我不想调用下一个间隔,直到第一个图像未加载

最佳答案

您可以使用 document.ready

调用 document.ready 中的函数,因此一旦页面完全加载,您的函数就会被调用

关于javascript - 如何使用setInterval直到图像未加载?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28360091/

相关文章:

javascript - iOS 6 Safari ,setInterval 不会被解雇

javascript - setInterval 中的 jQuery 停止函数

javascript - 是否有支持 null 合并 ("undefined"安全)并防止 XSS 的 JavaScript HTML 模板?

php - 表单提交后jquery移动页面刷新

php - 使用 javascript 重置表单将不起作用

javascript - 如何使 php 内容出现在 html div 元素中

javascript - Jquery 无法捕获单选按钮的取消选中

jQuery keydown 和 :not with inputs

javascript - 递归地循环遍历树,并在迭代之间设置超时

java - 如何在 Apache tomcat 服务器启动时自动定期运行我的 java 函数?