gpt4 book ai didi

javascript - 为什么我的变量不断自行重置?

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

我有一个为我的网站构建的图像 slider ,我将其设置为每 3 秒滑动一次(诊断后会变慢,但我不喜欢等待 10 秒来查看问题所在)。我还对其进行了设置,以便在自动滑动之前,它会检查 toSlide 变量是否设置为 1(默认)。当用户单击下一个/上一个链接或某个幻灯片时,会将 toSlide 设置为 0。

我的问题是它再次自动滑动,然后将 toSlide 设置回 1,我不明白为什么。有人可以帮我吗?

您可以在 my site 上看到 HTML ,这是 Javascript:

//Featured Work Image Slider
// sC = sliderCount
// sA = slideAmount
// pH = pictureHeight
// sT = slideTime
var sC = 1;
var pH = 364;
var sT = 364
var toSlide = 1;
function slide(ms) {
$('#featured-box li').stop().animate({'top':sA},ms);
$('.sN').css({color:'#598dbe'});
$('#sN'+sC).css({color:'#464646'});
$('#fD > div').fadeOut(ms,function(){
$(this).css({display:'none'});
});
$('#fD-'+sC).fadeIn(ms,function(){
$('#fD-'+sC).css({display:'block'});
});
console.log(toSlide);
}
function autoSlide(ms) {
if(sC < 4) {
sC++;
sA = -(sC - 1) * pH;
} else {
sC = 1;
sA = 0;
}
slide(ms);
if(toSlide = 1) {
setTimeout ( "autoSlide(sT)", 3000 );
}
}
$(document).ready(function() {
setTimeout ( "autoSlide(sT)", 3000 );
$('#sL').click(function(){
toSlide = 0;
if(sC > 1) {
sC--;
sA = -(sC - 1) * pH;
} else {
sC = 4;
sA = -3 * pH;
}
slide(sT);
return false;
});
$('#sN').click(function(){
toSlide = 0;
if(sC < 4) {
sC++;
sA = -(sC - 1) * pH;
} else {
sC = 1;
sA = 0;
}
slide(sT);
return false;
});
$('.sN').click(function(){
toSlide = 0;
var sNid = this.id.split('sN');
sC = sNid[1];
sA = -(sC - 1) * pH;
slide(sT);
return false;
});
});

最佳答案

if (toSlide = 1) {

这是一个赋值而不是比较。你想做的事:

if (toSlide === 1) {

更改后的完整功能:

function autoSlide(ms) {
if(sC < 4) {
sC++;
sA = -(sC - 1) * pH;
} else {
sC = 1;
sA = 0;
}
slide(ms);
if(toSlide === 1) {
setTimeout ( "autoSlide(sT)", 3000 );
}
}

关于javascript - 为什么我的变量不断自行重置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1119645/

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