思路:
总结: 1. 给循环与否设置标识 isLoop ,true为循环 2. 下一张到最后一张的时候, 循环则 index 变成0 , 否则停留在最后一张,下标为arrImg.length-1 上一张到第一张的时候, 循环则跑到最后一张, 否则停留在第一张 3.当下标发生变化的时候, 哪些东西要改变? 图片 , 图片顶部的文字, 图片下面的文字信息
1. 效果
2. 代码
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> <style> p { margin:0; } body { text-align:center; } #box { width:400px; height:400px; border:10px solid #ccc; margin:50px auto 0; position:relative; } a { width:40px; height:40px; background:#fff; filter:alpha(opacity:80); opacity:0.8; position:absolute; top:160px; font-size:18px; color:#000; text-align:center; line-height:40px; text-decoration:none; } a:hover { filter:alpha(opacity:30); opacity:0.3; } #prev { left:10px; } #next { right:10px; } #p1 { width:400px; height:30px; line-height:30px; text-align:center; background:#000; color:#fff; font-size:14px; filter:alpha(opacity:80); opacity:0.8; position:absolute; bottom:0; left:0; } strong { width:400px; height:30px; line-height:30px; text-align:center; background:#000; color:#fff; font-size:14px; filter:alpha(opacity:80); opacity:0.8; position:absolute; top:0; left:0; } #img1 { width:400px; height:400px; } span { position:absolute; width:400px; height:30px; line-height:30px; text-align:center; top:-50px; left:0; font-family:‘微软雅黑‘; } </style> </head> <body> <input type="button" value="循环播放图片"> <input type="button" value="顺序播放图片"> <div id="box"> <span>图片可从最后一张跳转到第一张循环切换</span> <a id="prev" href="javascript:;"><</a> <a id="next" href="javascript:;">></a> <p id="p1">图片文字加载中...</p> <strong id="strong1">图片数量计算中...</strong> <img id="img1"> </div> <script> window.onload = function () { var aBtn = document.getElementsByTagName(‘input‘) var oSpan = document.getElementsByTagName(‘span‘) var oPrev = document.getElementById(‘prev‘) var oNext = document.getElementById(‘next‘) var oP = document.getElementById(‘p1‘) var oStrong = document.getElementById(‘strong1‘) var oImg = document.getElementById(‘img1‘) var arrImg = [‘img/1.png‘,‘img/2.png‘,‘img/3.png‘,‘img/4.png‘,] var arrText = [ ‘文字一‘, ‘文字二‘, ‘文字三‘, ‘图片4‘ ]; var index = 0; var isLoop = true; init(); aBtn[0].onclick = function () { isLoop = true; oSpan[0].innerHTML = ‘循环轮播 :图片可从最后一张跳转到第一张循环切换‘; oSpan[0].style.color = ‘red‘; } aBtn[1].onclick = function () { isLoop = false; oSpan[0].innerHTML = ‘顺序:图片只能到最后一张\或只能到第一张切换‘; oSpan[0].style.color = ‘red‘; } oNext.onclick = function () { index++; if (index == arrImg.length){ isLoop ? index = 0 : index = arrImg.length-1; } init(); } oPrev.onclick = function () { index--; if (index == -1){ isLoop ? index = arrImg.length - 1 : index = 0; } init(); } function init() { oP.innerHTML = arrText[index]; oImg.src = arrImg[index]; oStrong.innerHTML = (index+1)+ ‘/‘ + arrImg.length; } } </script> </body> </html>
时间: 2024-11-03 02:02:58