在每次刷新或加载页面时,从文件夹随机显示内嵌图像的最佳轻量级方法是什么?使用jQuery。
就像这个http://javascript.internet.com/miscellaneous/random-image.html
的jQuery版本一样更新:4月24日
这正是我想要的,我只需要不引人注目的jQuery版本
<div class=”me-box”>
<script language=”JavaScript”>
function banner() { } ; b = new banner() ; n = 0
b[n++]= “<img name=randimg src=’images/me.jpg’ >”
b[n++]= “<img name=randimg src=’images/me2.jpg’ >”
b[n++]= “<img name=randimg src=’images/me4.jpg’ >”
b[n++]= “<img name=randimg src=’images/me5.jpg’ >”
b[n++]= “<img name=randimg src=’images/me6.jpg’ >”
b[n++]= “<img name=randimg src=’images/me3.jpg’ >”
i=Math.floor(Math.random() * n) ;
document.write( b[i] )
</script>
</div>
答案 0 :(得分:2)
答案 1 :(得分:0)
jQuery本身无法读取文件夹的内容。除非你做一些魔法,比如命名文件,例如1.jpg,2.jpg并在脚本中包含一个上限。
您应该使用服务器端语言来读取文件夹并将一些JSON传递给您的JavaScript。然后循环JSON并显示。
$.getJSON('get/files', function(data) {
$.each(data, function(image) {
$('#my-div ul').append('<li><img src="' + image + '" alt="" />');
});
});
答案 2 :(得分:0)
我想这取决于你说的有多少照片以及它们是否经常变化。假设没有多少,列表将保持不变。您可以将它们的文件名转换为数组,然后根据数组索引的长度随机生成一个数字。
$(document).ready(function() {
var rndNumber;
var displayPictures = new Array();
displayPictures[0...n] = 'filename.jpg';
rndNumber = (Math.floor(Math.random()*displayPictures.length));
$('#picture_tag_id_name').attr('src', 'images/'+displayPictures[rndNumber]);
});
当我在网站上尝试此操作时,我使用内联PHP循环遍历图像文件夹的内容,并使用所有图像路径的字符串“回显”填充数组的行。
可能不是最好的方式,但这是一种方式。