Javascript 图像随机化器-jQuery
我正在学习jQuery,我想实现一个图像随机发生器 我有一个需要显示的图像列表。我希望它们随机显示 这是我所实施的,但我并不满意:Javascript 图像随机化器-jQuery,javascript,jquery,Javascript,Jquery,我正在学习jQuery,我想实现一个图像随机发生器 我有一个需要显示的图像列表。我希望它们随机显示 这是我所实施的,但我并不满意: /** Initialisierung*/ function showFotos() { // Nummern der Bilder im Verzeichnis 'images' start_nr = 1; end_nr = 5; // Bilder eventuell vorladen for (i=start_nr; i<=end_nr; i++
/** Initialisierung*/
function showFotos() {
// Nummern der Bilder im Verzeichnis 'images'
start_nr = 1;
end_nr = 5;
// Bilder eventuell vorladen
for (i=start_nr; i<=end_nr; i++ ) {
preload_img = new Image();
preload_img.src = 'images/' + i + '.jpg';
}
// #show-1, #show-2, #show-3 bekommen einen zunächst 'leeren' img-tag mit den Dimensionen der Bilder zugefügt
$('#show-1').append('<img src="" width="250" height="250" />');
// Diese Function wird einmalig aufgerufen und somit Start-Bilder initialisiert
randomize();
}
// Random Funktion -> kleinster, grösster Wert
function randomXToY(minVal,maxVal,floatVal) {
var randVal = minVal+(Math.random()*(maxVal-minVal));
return typeof floatVal=='undefined'?Math.round(randVal):randVal. toFixed(floatVal);
}
// die 'Slotmachine'
function randomize() {
// die fünf Slots
for (i=1; i<=5; i++ ) {
// Zufallszahl
num = randomXToY(start_nr, end_nr);
// Zufallszahl = Bildnummer
$('#show-' + i + ' img').attr('src', 'images/' + num + '.jpg');
}
/**初始化*/
函数showFotos(){
//“图像”中的图像
启动次数=1;
结束时_nr=5;
//比尔德·韦图埃尔·沃拉丹
对于(i=开始;i kleinster,grösster Wert)
函数randomXToY(minVal、maxVal、floatVal){
var randVal=minVal+(Math.random()*(maxVal-minVal));
返回类型floatVal=='undefined'?Math.round(randVal):randVal.toFixed(floatVal);
}
//模具“Slotmachine”
函数随机化(){
//模具fünf槽
对于(i=1;i=$('.item')。长度){
indx=0;
}else if(indx<0){
indx=$('.item')。长度-1;
}
//如果step==0,我们不需要在淡出中进行任何淡出
如果(步骤!=0){
//下一项
$('.item:eq('+indx+')).fadeIn();
}
//把它放出来
timeoutId=setTimeout(slideImage,5000);
};
//开始滑行
slidemage(0);
//单击上一页时
$('#prev')。单击(函数(){
//步骤为-1的slideImage
滑动图像(-1);
});
//单击“下一步”时
$(“#下一步”)。单击(函数(){
//步骤为1的slideImage
幻灯片(1);
});
//单击“暂停”时
$(“#暂停”)。单击(函数(){
//清除超时
clearTimeout(timeoutId);
//隐藏暂停并显示播放
$(this.hide();
$('#play').show();
});
//当点击播放时
$(“#播放”)。单击(函数(){
//启动幻灯片图像
slidemage(0);
//隐藏播放并显示暂停
$(this.hide();
$(“#暂停”).show();
});
});
项目1
项目2
项目3
项目4
项目5
- >
它工作得很好,但不能与fire fox配合使用…我不知道为什么…(函数(){
(function () {
var images = ["image1.jpg", "whatever2.png", "3", "4", "etc5"];
// Randomize these images.
for (var i = 0; i < 20; ++i) {
var a = Math.floor(Math.random() * images.length)),
b = Math.floor(Math.random() * images.length));
var tmp = images[a];
images[a] = images[b];
images[b] = tmp;
}
var index = 0;
function back() {
index--;
if (index < 0) {
index = images.length - 1;
}
changeImage();
}
function next() {
index = (index + 1) % images.length;
changeImage();
}
function changeImage() {
// Something like $("img.whatever").attr("src", images[index]);
}
// Hook stuff here.
)();
var images=[“image1.jpg”、“whatever2.png”、“3”、“4”、“etc5”];
//将这些图像随机化。
对于(变量i=0;i<20;++i){
var a=Math.floor(Math.random()*images.length)),
b=Math.floor(Math.random()*images.length));
var tmp=图像[a];
图像[a]=图像[b];
图像[b]=tmp;
}
var指数=0;
函数back(){
索引--;
如果(指数<0){
索引=images.length-1;
}
changeImage();
}
函数next(){
index=(index+1)%images.length;
changeImage();
}
函数changeImage(){
//类似于$(“img.whatever”).attr(“src”,images[index]);
}
//这里有钩子。
)();
为什么要从randomXToY()返回typeof
function?我想你只需要返回文件名,它应该对你有用。而且,当这个函数接受三个参数时,你只需要用两个参数调用它……这不是什么大问题,但你永远不知道。想法?@ghostofc它正在工作!但最大的问题是使用“继续”和“后退”按钮……如果你想向前和向后移动,请使用“继续”和“后退”按钮粗略地看一下这些图像,你需要。@lisa,后退和继续按钮的用途是什么?这就是我想要的:当我单击“继续”时,将显示下一个图像。当我单击后退时,将显示下一个图像。你明白我的意思吗?谢谢你的回答,函数changeImage()中应该包含什么内容?我想函数back()不会给我最后一张图像,但是图像之前的图像,当前正在显示…或者你怎么想?检查changeImage()函数,我在那里做了一个建议。back会给你数组中的前一张图像。数组是随机的,所以图像的顺序是随机的(但是循环).这不是你想要的吗?(你可以接受答案。)
(function () {
var images = ["image1.jpg", "whatever2.png", "3", "4", "etc5"];
// Randomize these images.
for (var i = 0; i < 20; ++i) {
var a = Math.floor(Math.random() * images.length)),
b = Math.floor(Math.random() * images.length));
var tmp = images[a];
images[a] = images[b];
images[b] = tmp;
}
var index = 0;
function back() {
index--;
if (index < 0) {
index = images.length - 1;
}
changeImage();
}
function next() {
index = (index + 1) % images.length;
changeImage();
}
function changeImage() {
// Something like $("img.whatever").attr("src", images[index]);
}
// Hook stuff here.
)();