html - HTML 幻灯片无法正常工作
问题描述
我用 HTML 制作幻灯片,这是我的代码:
var cur = 0;
var max = $('.slides div').length;
var $curSlide;
setInterval(function() {
$($('.slides div')[cur]).fadeOut(500, function() {
$($('.slides div')[cur%=max, ++cur]).fadeIn(500);
});
}, 2000);
.slides img {
max-width: 400px;
max-height: 300px;
}
.slides div:not(#first) {
display: none;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="slides">
<div id='first'><img src="https://www.tutorialrepublic.com/lib/images/javascript-illustration.png"></div>
<div><img src="https://upload.wikimedia.org/wikipedia/commons/thumb/6/61/HTML5_logo_and_wordmark.svg/1200px-HTML5_logo_and_wordmark.svg.png"></div>
<div><img src="https://cdn-images-1.medium.com/max/1200/1*OFsc0SD55jhi8cjo7aCA4w.jpeg"></div>
</div>
它第一次工作,但它不会重复!
它通过幻灯片运行一次,但不能再次运行。这里有什么问题?
解决方案
啊,逗号运算符。经典错误。
在行中:
$($('.slides div')[cur%=max, ++cur]).fadeIn(500);
你先得到余数,然后递增cur
,而你应该做的是先递增然后得到余数:
$($('.slides div')[++cur, cur%=max]).fadeIn(500);
这应该可以解决您的问题,试试吧!
推荐阅读
- mysql - 在 MySql 中使用 if 语句打印带有条件约束的新列
- python - 按名称将列组融合为目标列
- powershell - 如何将变量从 PowerShell 传递到批处理变量
- javascript - 仅当每个输入为空时才验证表单
- java - 如何在java中循环一个String ArrayList以及如何拆分其中的元素
- java - Apache Tomcat 9 无法启动 (eclipse)
- java - 如何阅读不包含在 html 源代码中的 java 网页内容?
- javascript - 如何传递 google.maps.Geocoder().geocode() 的 Google API 密钥
- javascript - JS如何解释n个小数点的数字
- python - 为什么 'sep' 和 'delimiter' 参数同时存在于 read_csv 和 pandas 的 read_table 中?