javascript - jQuery Slideshow - 在一张幻灯片处于事件状态时隐藏其他幻灯片

标签 javascript jquery

我正在尝试使用 jQuery 制作一个非常简单的幻灯片。我首先尝试使用 position:absolute 来让它工作,但这会干扰布局,所以我现在决定尝试使用 display: 来代替。

我目前有这个代码:

    <script src="https://code.jquery.com/jquery-1.12.4.min.js" type="text/javascript"></script>

    <script>
    	$(".slideshow > a").hide();
        $('.slideshow a:first').css('display', 'block');

    	setInterval(function() {
    		$('.slideshow > a').css('display', 'none');
    		$('.slideshow a:first').css('display', 'block').show().next().show().end().appendTo('.slideshow');
    	}, 3000);
    </script>

    <div class="slideshow">
         <a href="">Hello 1</a>
         <a href="">Hello 2</a>
         <a href="">Hello 3</a>
         <a href="">Hello 4</a>
    </div>

如何才能使其仅按顺序显示 1234它必须一次显示多个项目吗?

最佳答案

您可以使用class来更改显示并计算下一个要显示的a的索引。

let $a = $(".slideshow a");
$a.eq(0).addClass("show");

setInterval(function() {
  let index = $(".show").index();
  let next = (index + 1) % 4;
  $a.removeClass("show").eq(next).addClass("show");
}, 3000);
.slideshow a {
  display: none;
}

.slideshow a.show{
  display: block;
}
<script src="https://code.jquery.com/jquery-1.12.4.min.js" type="text/javascript"></script>

<div class="slideshow">
  <a href="">Hello 1</a>
  <a href="">Hello 2</a>
  <a href="">Hello 3</a>
  <a href="">Hello 4</a>
</div>

关于javascript - jQuery Slideshow - 在一张幻灯片处于事件状态时隐藏其他幻灯片,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52346115/

相关文章:

javascript - 可以采取哪些步骤来使用 ASP.NET Webforms 生成语义的、可访问的、符合标准的客户端输出?

javascript - 从 1.8.3 到 1.9.1 的 jQuery 迁移在一行中停止工作,我不知道为什么

javascript - 无法设置 react 路由器

javascript - 在加载和隐藏字段上运行函数

c# - 如何通过更改 ASP.NET MVC 中的 URL 来阻止对 Controller 的访问?

javascript - JQuery 点击功能不起作用

javascript - 防止 javascript 加载多次

javascript - setTimeout 完成后调用函数

jquery - 如果 div 包含文本,则仅隐藏该 div 中的子项

javascript - 我如何定位 div 以使其在点击功能期间不可见?