javascript - 当用户点击它时转到下一个 div 持有者?
问题描述
我有一个画廊,我想关闭活动持有人 div 并在用户点击它时转到下一个:
问题是,带有文本 1 的 div 持有人没有关闭并转到下一个持有人。我的 JS 有什么问题?
$(document).on("click", ".holder", function() {
slideSwitch();
});
var ss=0;
function slideSwitch() {
alert("click holder go to next next holder");
var gallery = $('#slideshow'),
active = gallery.find('.holder'),
next;
var number = $(".holder").length;
if (active.next().length) {
if (ss < number) {
next = active.next();
ss++;
}
}
active.hide();
next.show();
}
.holder {
display: none;
}
.active {
display: block;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div id=slideshow>
<div class='holder active'>
text 1
</div>
<div class='holder'>
text 2
</div>
<div class='holder'>
text 3
</div>
<div class='holder'>
text 4
</div>
</div>
解决方案
试试这个:
$( document ).on( "click", ".holder", function() {
slideSwitch();
});
function slideSwitch() {
var active = $('#slideshow .holder.active');
var index = $('#slideshow > div').index(active);
if(index == 3)
index = 0;
else index++;
active.removeClass('active');
$('#slideshow').children().eq(index).addClass('active');
}
推荐阅读
- python - Python,为什么第二次解密失败
- javascript - 在随机顺序脚本中随机化数字
- postgresql - 多个实体需要数据库中的地址
- r - `c('q01') %in% c('q01','q04')` 应该为 TRUE,但在条件循环中不起作用
- javascript - 如何撤销身份 API 令牌(Chrome 扩展)
- git - 无法删除添加到暂存区的行
- .htaccess - 新主机上的奇怪 .htaccess 配置
- javascript - Angular 7 使用 html2canvas 导出 pdf div 内容的最佳方法
- javascript - 如何在匿名函数之外访问为 onreadystatechange 定义的函数中的变量数据?
- git - 如何在 GitHub 上编辑/推送/拉取父分支的父级