我正在尝试使用jquery制作自己的幻灯片。一切都好,但当用户多次点击箭头以获取下一张图片时,它开始出现奇怪的问题:
$( document ).ready(function() {
$("#arrow-right").click(function(){
nextPrevius(1);
});
$("#arrow-left").click(function(){
nextPrevius(-1);
});
});
function nextPrevius(value){
var id = parseInt($(".activo").attr("id"));
if(id+value<1){
$(".activo").fadeOut("slow", function() {
$("#5").fadeIn("slow");
});
$(".activo").removeClass("activo");
$("#5").addClass("activo");
}
else if(id+value>5){
$(".activo").fadeOut("slow", function() {
$("#1").fadeIn("slow");
});
$(".activo").removeClass("activo");
$("#1").addClass("activo");
}
else{
$(".activo").fadeOut("slow", function() {
$("#"+(id+value)).fadeIn("slow");
});
$(".activo").removeClass("activo");
$("#"+(id+value)).addClass("activo");
}
}
body{
margin: 0;
}
#slider{
width: 100%;
height: 250px;
position: relative;
}
.activo{
display: block;
}
.contenido-slider{
background-color: #d0d2ff;
width: 100%;
height: 250px;
}
.contenido-slider span{
position: absolute;
top: 45%;
left: 50%;
}
#arrow-left{
position: absolute;
top: 50%;
left: 2%;
cursor: pointer;
}
#arrow-right{
position: absolute;
top: 50%;
right: 2%;
cursor: pointer;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<!doctype html>
<html lang="es">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<link rel="stylesheet" href="css/style.css">
<link rel="stylesheet" href="css/font-awesome.min.css">
<title>Slider</title>
</head>
<body>
<section id="slider">
<div id="1" class="activo contenido-slider">
<span>1</span>
</div>
<div id="2" class="contenido-slider" style="display:none">
<span>2</span>
</div>
<div id="3" class="contenido-slider" style="display:none">
<span>3</span>
</div>
<div id="4" class="contenido-slider" style="display:none">
<span>4</span>
</div>
<div id="5" class="contenido-slider" style="display:none">
<span>5</span>
</div>
<div id="arrow-left">Prev</div>
<div id="arrow-right">next</div>
</section>
<script src="https://code.jquery.com/jquery-3.3.1.min.js" integrity="sha256-FgpCb/KJQlLNfOu91ta32o/NMZxltwRo8QtmkMRdAu8=" crossorigin="anonymous"></script>
<script src="js/global.js"></script>
</body>
</html>
我知道可以使用以下方式:
$(this).removeAttr('disabled');
但是这不是一个按钮,当我使用按钮并设置禁用属性时,光标会变为禁止信号,我不想要这个。
如何防止多次点击?
我已经在互联网上读了很多信息,也在这个论坛上看了很多,但我不能防止多次点击。
stop()
。 - epascarello