javascript - jquery 单击切换上一个和下一个

标签 javascript jquery html

我想在单击上一个和下一个时显示和隐藏 div。我正在使用 jQuery 切换来实现此目的。以下是我到目前为止所尝试过的。

HTML 代码

<div id="one">a</div>
<div id="two">b</div>
<div id="three">c</div>

<div id="prev">prev</div>
<div id="next">next</div>

jQuery 脚本

jQuery(function(){
    jQuery("#two, #three").hide();
    jQuery("#next").on("click", function(){
        jQuery("#one, #two, #three").toggle();
    });
});

fiddle 链接

https://jsfiddle.net/mqns2hy4/

从上面可以看出,当我单击“下一步”时,我只想出现 b,然后当我再次单击时,我希望只出现 c,依此类推。同样,单击“上一页”时,我希望上面的内容反向移动,依此类推。

最佳答案

您可以创建一个保存事件元素索引的变量,并在单击时更改该变量。然后,您可以隐藏除具有当前事件索引的元素之外的所有元素。

let active = 0;
let el = $("div");
let total = el.length - 1;

const toggle = (el, index) => {
  el.hide()
  el.eq(index).show()
}

toggle(el, active)

$('button').on('click', function() {
  this.id === 'prev' ? active -= 1 : active += 1;
  if(active > total) active = 0;
  if(active < 0) active = total
  toggle(el, active)
})
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div id="one">a</div>
<div id="two">b</div>
<div id="three">c</div>

<button id="prev">prev</button>
<button id="next">next</button>

关于javascript - jquery 单击切换上一个和下一个,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55740860/

相关文章:

javascript - Nodejs Mocha : Unable to test a POST and GET by ID

javascript - 获取 JQuery ajax 请求进度的最干净的方法是什么?

php - 无法理解为什么我的网站一直导航到其索引页面?

jquery - 具有动态添加字段的客户端验证

html - CSS 去除 HTML 电子邮件 href 图像上的蓝色轮廓

javascript - 如何从nodejs服务器流式传输到客户端

javascript - 为样式表切换器存储 js cookie

jquery - 有没有办法让这个 jquery 悬停动画更流畅?

html - 订单列表不适用于 ol 类型 ="a"

javascript - 在 AngularJS 中创建动态 ng-model