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:图像滑块_Javascript_Jquery_Multithreading - Fatal编程技术网

多线程JavaScript:图像滑块

多线程JavaScript:图像滑块,javascript,jquery,multithreading,Javascript,Jquery,Multithreading,我想为我的网页制作一个简单的滑块。下面是加载图像的功能 但是,它没有按预期运行。这是一个无限循环,冻结网页。我不知道如何修复这个问题,但我认为它必须在另一个线程上运行 这方面的最佳解决方案是什么?多谢各位 function loadProd_logos() { var prod_logos = ["prod_01.png", "prod_02.png"]; var prod_cnt = prod_logos.length; var prod_last = prod_cnt

我想为我的网页制作一个简单的滑块。下面是加载图像的功能

但是,它没有按预期运行。这是一个无限循环,冻结网页。我不知道如何修复这个问题,但我认为它必须在另一个线程上运行

这方面的最佳解决方案是什么?多谢各位

function loadProd_logos() {
    var prod_logos = ["prod_01.png", "prod_02.png"];
    var prod_cnt = prod_logos.length;
    var prod_last = prod_cnt - 1;
    for(var i = 0; i < prod_cnt; i++) {
        prod_logos[i] = '<img class="prod_logo" src="prod_thumb/' + prod_logos[i] + '">';
    }

    var x = 0;
    while (1 == 1) {
        var html = prod_logos[x];
        $(".prod_logo").slideUp("slow");
        wait(1000);
        $(".product_thumb").empty();
        $(".product_thumb").append(html);
        $(".prod_logo").slideDown("slow");
        wait(5000);
        x++;
        if(x == prod_last) {
            x = 0;
        }
    }

}

function wait(x) {
    setTimeout(function () {
    }, x);
}
函数加载prod_logos(){
var prod_logos=[“prod_01.png”、“prod_02.png”];
var prod_cnt=prod_logos.length;
var prod_last=prod_cnt-1;
对于(变量i=0;i
我看到的一个直接问题是,
wait
被认为是一个阻塞函数
setTimeout
通过在x毫秒后触发提供的回调来工作。如果要在某个时间间隔内重复执行任务,请使用
setInterval
并在您提供的回调中执行该操作