在不向服务器发出新请求的情况下更改图像jQuery
change image jQuery without making a new request to the server
我正在使用jQuery每秒更改一个背景图像。然而,当我查看Google chrome中的NETWORK
选项卡时,我发现每秒都会对图像发出新的GET请求,这显然是非常不经济的。有人能建议在这里采取更好的方法吗。我在其他帖子中读到,图像应该被缓存,浏览器应该知道不要向服务器发出请求,但据我所知,浏览器仍在发出请求。
请参阅下面的当前代码。
var x = 0,
homepageImages = ["1","2","3","4"];
setInterval(function(){
x++;
if(x === 4){
x = 0;
}
$('.desktop-main-img').attr('src', 'img' + homepageImages[x] + '.jpg');
}, 1000);
然后您需要预加载图像。
var x = 0,
homepageImages = ["1", "2", "3", "4"];
// invisible preload the images
for( var i = 0; i < homepageImages.length; i++ )
$(new Image()).src('img' + homepageImages[i] + '.jpg');
setInterval(function() {
x = ++x === 4 ? 0 : x;
$('.desktop-main-img').attr('src', 'img' + homepageImages[x] + '.jpg');
}, 1000);
但请记住,网络选项卡可能会显示获取图像的请求。但是您应该看到,响应是缓存的。服务器告诉你的浏览器,图像没有更改/他已经知道图像,不会传输任何数据。
在运行循环之前,您必须在主体中预加载所有图像
相关文章:
- 在不使用JQuery的情况下隐藏DOM中的选定元素
- 在不使用jquery的情况下查找页面中的所有锚点并附加函数
- 在不设置协议的情况下,使用javascript/jquery更改iframe-src
- jQuery悬停在没有鼠标悬停的情况下启动
- 有没有一种方法可以在没有文档或jQuery的情况下使用javascript解码html实体
- 在Widget代码中没有jQuery的情况下,用光标图像从左滑动到右
- 我如何让jQuery使用Greasemonkey 0.8脚本(在Firefox 2上),在没有互联网的情况下使用PC
- 在iframe的情况下,jQuery html()将失败
- 在我的情况下,使用带有变量失败的 jquery 选择器
- 为什么jQuery代码段在没有IFrame的情况下可以工作,而在有IFrame时却不能工作
- 如何在没有jquery的情况下使用Papa Parse
- 如何在不删除类似侦听器的情况下从父对象中删除jQuery事件侦听器
- 为什么jQuery悬停方法在这种情况下不起作用
- 如何在不链接/jquery的情况下使用方法应用css属性数组
- jQuery-如何在给定延迟的情况下从元素中删除类
- 为什么在这种情况下要向JQuery添加两个链接
- jQuery:如何在没有for循环的情况下将事件处理程序应用于$('#text'+'任意整数
- 在没有事件的情况下使用.jquery.on()
- 如何在不提交表单的情况下使用jQuery.validate
- 为什么attr()有效而text()无效't在同样的情况下?jQuery