Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/456.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/76.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 图像随机化器-jQuery_Javascript_Jquery - Fatal编程技术网

Javascript 图像随机化器-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++

我正在学习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++ ) {
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.

)();