在json调用上设置重新加载新图像的间隔
set interval on json call to reload new image
我正在尝试设置从Flickr API重新加载新图像的间隔
我需要添加什么才能使页面使用setInterval
抓取新图像。
这是我的代码:
$(document).ready(function(){
$.getJSON("http://api.flickr.com/services/feeds/photos_public.gne?jsoncallback=?",
{
tagmode: "any",
format: "json"
},
function(data) {
var rnd = Math.floor(Math.random() * data.items.length);
var image_src = data.items[rnd]['media']['m'].replace("_m", "_b");
$('.main').css('background-image', "url('" + image_src + "')");
});
});
我将使用setTimeout
而不是setInterval
,以防由于网络延迟而需要比[interval]秒更长的时间来获取图像。
$(document).ready(function() {
var INTERVAL_IN_MS = 1000; // wait 1 second
function getImage() {
$.getJSON("http://api.flickr.com/services/feeds/photos_public.gne?jsoncallback=?", {
tagmode: "any",
format: "json"
}, function(data) {
var rnd = Math.floor(Math.random() * data.items.length);
var image_src = data.items[rnd]['media']['m'].replace("_m", "_b");
$('.main').css('background-image', "url('" + image_src + "')");
// start the timeout countdown only after the previous image has been fetched and displayed
window.setTimeout(getImage, INTERVAL_IN_MS);
});
}
window.setTimeout(getImage, INTERVAL_IN_MS);
});
您想在设定的间隔内加载不同的随机图像吗?
我认为这应该适合你:
var loadNewImage = function() {
var rnd = Math.floor(Math.random() * data.items.length);
var image_src = data.items[rnd]['media']['m'].replace("_m", "_b");
$('.main').css('background-image', "url('" + image_src + "')");
}
setInterval(loadNewImage(), 3000);
这将每3秒(3000毫秒)设置一个新的背景图像,所以你可能想要改变间隔时间,或者在顶部连接一个变量,你可以很容易地改变,如果你想:
var imageInterval = 10000;
setInterval(loadNewImage(), imageInterval);
相关文章:
- HTML5拖放新图像并替换Div中的现有图像
- 如何在 javascript 替换新图像/标题后正确显示 css 工具提示
- 编辑图像而不创建新图像
- 如何仅在新图像实际可用时刷新图像源
- 为什么可以't我使用javascript显示一个新图像
- 正在显示加载..在将新图像加载到网站时播放动画
- 将鼠标悬停在链接上时的新图像
- 将许多新图像绘制到画布时内存泄漏
- 从网页中的 2 张图像创建新图像
- Jcrop:设置图像后,jcrop在应用新图像时不采用TrueSize
- Javascript/Canvas - 从预先存在的图像创建新图像
- 如何在 DIV 中更新新图像
- 如何使用Javascript,以便每次我单击图像时,它都会在单击的项目下方添加一个新图像
- 如何在鼠标悬停在另一个图像/链接上时显示新图像/窗口
- 使用画布在Javascript中获取新图像的最佳方法
- 如何使用jquery实现垂直图像滑块,其中在显示新图像之前,它将关闭并使用新图像打开
- 将动态创建的图像替换为输入中的新图像
- Javascript 数组不会注意到文件夹中的新图像
- 没有对具有相同 URL 的新图像的新请求
- 在1行中创建新图像()