这是正确的,可以实现点击图片轮播按钮后,图片切换,n限制为5是因为只有5张图片
<body>
<div class=“container”>
<img src="./images/1.jpg">
</div>
<br>
<button onclick=“test1()” class=“btn btn-success”>图片轮播</button>
<script>
let n = 2
//改变图片的地址
function showImg() {
console.log(‘7777’)
if (n >= 5) {
n = 1
}
document.getElementsByTagName(“img”)[0].src = ‘./images/’ + n + '.jpg’
n++;
}
//每秒运行一次改变图片地址的函数
function test1() {
window.setInterval(“showImg()”, 1000)
}
</Script>
</body>
有一个小问题,我想把整个轮播函数包起来,点击后报错,有点不明白,效果应该是一样的才对,
<body>
<div class=“container”>
<img src="./images/1.jpg">
</div>
<br>
<button onclick=“test1()” class=“btn btn-success”>图片轮播</button>
<script>
function test1() {
let n = 2
//改变图片的地址
function showImg() {
console.log(‘7777’)
if (n >= 5) {
n = 1
}
document.getElementsByTagName(“img”)[0].src = ‘./images/’ + n + '.jpg’
n++;
}
//每秒运行一次改变图片地址的函数
//function test1() {
window.setInterval(“showImg()”, 1000)
}
</Script>
</body>
第一种写法,点击函数,每秒运行一次改变图片地址的函数。第二种写法,点击函数,每秒调用一次改变图片的函数,根据报错来看,好像这个改变地址的函数是错误的
应该是字符串编译后作用域变了,setInterval一般不这么用你可以改成
window.setInterval(showImg, 1000)