gpt4 book ai didi

javascript - 无法让 setTimeout 在 javascript 中工作

转载 作者:行者123 更新时间:2023-11-30 13:30:15 24 4
gpt4 key购买 nike

我正在使用 jquery 在 div 中上下滑动。

由于某些原因 setTimeout 不工作(看起来像函数范围问题)。

无法弄清楚下面的代码有什么问题。(这两个函数都在 $(document).ready(function(){ } )

$('.slider-thumb').click(function(){
var source = $(this).attr("src");
$('#image_view').css('background-image',"url("+source+")");
$('#image_view').slideDown(1000, calbck);
initiate_timeout();

function calbck(){}
});

function initiate_timeout(){
var time_out = setTimeout(function() {
$('#image_view').slideUp(1000, calbck);
},2000);
}

最佳答案

缩进源代码表明您确实存在一些范围界定问题。 calbck 函数是点击处理函数私有(private)的,因此对于 initiate_timeout 函数是不可见的。要么使 calbck 成为顶级函数,要么使 initiate_timeout 成为点击处理函数的局部函数。

$('.slider-thumb').click(function() {
var source = $(this).attr("src");
$('#image_view').css('background-image',"url("+source+")");
$('#image_view').slideDown(1000, calbck);
initiate_timeout();

function calbck(){}
});

function initiate_timeout(){
var time_out = setTimeout(function() {
$('#image_view').slideUp(1000, calbck);
}, 2000);
}

关于javascript - 无法让 setTimeout 在 javascript 中工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7029946/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com