我已经编写了滑块的脚本。在我的代码中,我定义了一个名为autoswitch
的变量,默认值为true
,如果autoswitch == true
的幻灯片将被更改。但我想要如果用户点击幻灯片的箭头,autoswitch
更改为false
。我的代码如下:无法更改JQuery函数中变量的值
$(document).ready(function() {
// Initiate variables
var speed = 500;
var autoswitch = true;
var autoswitch_speed = 5000;
// Add initial active class
$('.slide').first().addClass('active');
// Hide all slides
$('.slide').hide();
$('.slide').first().show();
$('#next').click(function() {
autoswitch = false;
$('.active').removeClass('active').addClass('oldActive');
if($('.oldActive').is(':last-child')){
$('.slide').first().addClass('active');
} else{
$('.oldActive').next().addClass('active');
}
$('.oldActive').removeClass('oldActive');
$('.slide').fadeOut(speed);
$('.active').fadeIn(speed);
});
$('#prev').click(function() {
autoswitch = false;
$('.active').removeClass('active').addClass('oldActive');
if($('.oldActive').is(':first-child')){
$('.slide').last().addClass('active');
} else{
$('.oldActive').prev().addClass('active');
}
$('.oldActive').removeClass('oldActive');
$('.slide').fadeOut(speed);
$('.active').fadeIn(speed);
});
if(autoswitch){
setInterval(function() {
$('.active').removeClass('active').addClass('oldActive');
if($('.oldActive').is(':last-child')){
$('.slide').first().addClass('active');
} else{
$('.oldActive').next().addClass('active');
}
$('.oldActive').removeClass('oldActive');
$('.slide').fadeOut(speed);
$('.active').fadeIn(speed);
}, autoswitch_speed);
}
});
我有两个滑块箭头,他们都在点击,在函数的第一行改变autoswitch = false;
值,但即使点击箭头后,这招不起作用,并且,幻灯片自动切换!我如何解决我的问题?
uhm。如果陈述只发生一次。一旦它运行完成,间隔开始或永远不会。 –