Javascript幻灯片以随机顺序显示
Javascript slideshow in random order
我的幻灯片目前以非随机顺序显示图像,但我希望它是随机的。
jsfiddle:
http://jsfiddle.net/6hCaJ/Javascript:function loadNextImage(useRandomSelection) {
if(imagePool.length > 0) {
if(useRandomSelection) {
var randomIndex = Math.floor(Math.random() * imagePool.length);
var imgData = imagePool.splice(randomIndex,1);
} else {
var imgData = imagePool.shift();
}
$(".back-image-container").append("<img id='back-image-" + imgData.id + "' class='back-image' src='" + imgData.url + "'/>");
var imgObj = $("#back-image-" + imgData.id);
imgObj.hide();
if ( imgObj.complete || imgObj.readyState == 4 || imgObj.readyState == "complete") {
loadCompleted(imgObj,useRandomSelection);
} else {
imgObj.load(function() {
loadCompleted(imgObj,useRandomSelection);
});
}
}
}
HTML: <div class="back-image-container">
<img id="back-image-0" class="back-image" src="http://cdn2.bigcommerce.com/n-pktq5q/b2aus7wd/product_images/theme_images/scorpiongoldberlin.jpg?t=1403886381" style="width: 1347px; height: 898px; left: -63px; display: inline;">
<img id="back-image-1" class="back-image" src="http://cdn2.bigcommerce.com/n-pktq5q/b2aus7wd/product_images/theme_images/brelingirlcross2.jpg?t=1403886381" style="width: 1347px; height: 898px; left: -63px; display: none;">
<img id="back-image-2" class="back-image" src="http://cdn2.bigcommerce.com/n-pktq5q/b2aus7wd/product_images/theme_images/brelinafternoon.jpg?t=1403886381" style="width: 1347px; height: 898px; left: -63px; display: none;">
</div>
我不认为问题是在loadNextImage
,但它被称为的方式。注意loadNextImage
有一个参数,该参数定义了顺序是否应该是随机的。
在你的小提琴呼叫loadNextImage
是这样做的:
loadNextImage(false);
这意味着随机行为被绕过。尝试简单地反转布尔值:
loadNextImage(true);
还有,这一行似乎有一个错误:
var imgData = imagePool.splice(randomIndex,1);
splice返回被删除结果的数组,因为可以有多个。在本例中,它返回一个数组,其中包含单个项,即图像数据移位。要修复此引用,您需要获取该数组的第一个元素:
var imgData = imagePool.splice(randomIndex,1)[0];
相关文章:
- 使用JS按顺序显示图像,而不是随机显示
- 我应该怎么做才能将这个数组从随机更改为在页面刷新时按顺序显示
- 批次图 在 X 轴上按顺序显示不同年份的数据
- 文本未按正确的顺序显示
- 要按顺序显示的图像
- 通过Angular Directive按顺序显示月份
- Javascript测试-使用Array.prototype以随机顺序显示选项
- 如何以反向/从右到左的顺序显示阿拉伯语网站的Nivo滑块分页
- 从下拉列表中的数组中选取某个项目,然后将其显示为第一项并按字母顺序显示
- 来自 flickr 的图像数组未按预期顺序显示
- 以随机顺序显示 ng 重复项目
- 按顺序显示动画 SVG 元素
- 时间滑块插件和传单 - 标记未按顺序显示
- 拉斐尔随机顺序显示物体
- 如何使用 Jquery 获取 XML 文件,并在每次加载时以随机顺序显示元素一次
- 按使用 jquery 检查复选框的顺序显示文本
- 按自定义顺序显示 DIV
- 按字母顺序显示的下拉列表数据项
- 根据特定值按顺序显示数组中的对象
- JavaScript:如何按顺序显示 GIF,避免预加载