為什么使用小圓點(diǎn)切換幾次圖片后,圖片出現(xiàn)的不對(duì)呢,比如點(diǎn)擊第一個(gè)小圓點(diǎn)卻出現(xiàn)了第三張圖片,開(kāi)始點(diǎn)擊的幾次是正常的
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>左右滑動(dòng)輪播圖</title>
<style type="text/css">
? ? ? ? *{ margin: 0; padding: 0; text-decoration: none;}
? ? ? ? body { padding: 20px;}
? ? ? ? #container { width: 600px; height: 800px; border: 3px solid #333; overflow: hidden; position: relative;margin: 0 auto;}
? ? ? ? #list { width: 4200px; height: 800px; position: absolute; z-index: 1;}
? ? ? ? #list img { float: left;}
? ? ? ? #buttons { position: absolute; height: 10px; width: 100px; z-index: 2; bottom: 20px; left: 250px;}
? ? ? ? #buttons span { cursor: pointer; float: left; border: 1px solid #fff; width: 10px; height: 10px; border-radius: 50%; background: #333; margin-right: 5px;}
? ? ? ? #buttons .on {? background: orangered;}
? ? ? ? .arrow { cursor: pointer; display: none; line-height: 39px; text-align: center; font-size: 36px; font-weight: bold; width: 40px; height: 40px;? position: absolute; z-index: 2; top: 380px; background-color: RGBA(0,0,0,.3); color: #fff;}
? ? ? ? .arrow:hover { background-color: RGBA(0,0,0,.7);}
? ? ? ? #container:hover .arrow { display: block;}
? ? ? ? #prev { left: 20px;}
? ? ? ? #next { right: 20px;}
? ? </style>
</head>
<body>
<div id="container">
<div id="list" style="left: -600px;">
? ? <img src="img/05.jpeg" alt="1"/>
? ? <img src="img/01.jpeg" alt="1"/>
? ? <img src="img/02.jpeg" alt="2"/>
? ? <img src="img/03.jpeg" alt="3"/>
? ? <img src="img/04.jpeg" alt="4"/>
? ? <img src="img/05.jpeg" alt="5"/>
? ? <img src="img/01.jpeg" alt="5"/>
</div>
<div id="buttons">
? ? <span index="1" class="on"></span>
? ? <span index="2"></span>
? ? <span index="3"></span>
? ? <span index="4"></span>
? ? <span index="5"></span>
</div>
<a href="javascript:;" id="prev" class="arrow"><</a>
<a href="javascript:;" id="next" class="arrow">></a>
</div>
<script type="text/javascript">
window.onload = function(){
var container = document.getElementById('container');
var list = document.getElementById('list');
? ? var buttons = document.getElementById('buttons').getElementsByTagName('span');
? ? var prev = document.getElementById('prev');
? ? var next = document.getElementById('next');
? ? var index = 1;
? ? var animated = false;
? ? var interval = 6000;
? ? var timer;
? ? function animate(offset){
? ? var left = parseInt(list.style.left) + offset;
? ? var animated = true;
? ? var time = 300;? //位移總時(shí)間
? ? var interval = 10;? //位移間隔時(shí)間
? ? var speed = offset/(time/interval);? //每次位移量
? ? function go(){
? ? if((speed < 0 && parseInt(list.style.left) > left) || (speed > 0 && parseInt(list.style.left) < left)){
? ? list.style.left = parseInt(list.style.left) + speed + 'px';
? ? setTimeout(go,interval);
? ? }else{
? ? list.style.left = left + 'px';
? ? if(left > -600){
? ? list.style.left = -3000 + 'px';
? ? }
? ? if(left < -3000){
? ? list.style.left = -600 + 'px';
? ? }
? ? animated = false;
? ? }
? ? }
? ? go();
? ? }
? ? function showButton(){
? ? for(var i=0; i<buttons.length; i++){
? ? if(buttons[i].className == 'on'){
? ? buttons[i].className='';
? ? break;
? ? }
? ? }
? ? buttons[index-1].className='on';
? ? }
? ? function play(){
? ? timer=setTimeout(function(){
? ? next.onclick();
? ? play();
? ? },interval)
? ? }
? ? function stop(){
? ? clearTimeout(timer);
? ? }
? ? next.onclick = function(){
? ? if (animated) {
? ? ? ? ? ? ? ? ? ? return;
? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? ? if (!animated) {
? ? animate(-600);
? ? ? ? ? ? ? ? }
? ? if(index == 5){
? ? index = 1;
? ? }else{
? ? index += 1;
? ? }
? ? showButton();
? ? console.log(index);
? ? ? ? }
? ? ? ? prev.onclick = function(){
? ? ? ? if (animated) {
? ? ? ? ? ? ? ? ? ? return;
? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? ? if (!animated) {
? ? animate(600);
? ? ? ? ? ? ? ? }
? ? if(index == 1){
? ? index = 5;
? ? }else{
? ? index -= 1;
? ? }
? ? showButton();
? ? ? ? }
? ? ? ? for (var i = 0; i < buttons.length ; i++) {
? ? ? ? buttons[i].onclick = function(){
? ? ? ? if (animated) {
? ? ? ? ? ? ? ? ? ? ? ? return;
? ? ? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? ? ? ? if(this.className == 'on') {
? ? ? ? ? ? ? ? ? ? ? ? return;
? ? ? ? ? ? ? ? ? ? }
? ? ? ? var myIndex = parseInt(this.getAttribute('index'));
? ? ? ? var offset = -600*(myIndex-index);
? ? ? ? if (!animated) {
animate(offset);
}
? ? ? ? index = myIndex;
? ? ? ? showButton();
? ? ? ? }
? ? ? ? }
? ? container.onmouseover = stop;
? ? container.onmouseout = play;
? ? play();
}
</script>
</body>
</html>
2021-08-19
? ? next.onclick = function(){
? ? if (animated) {
? ? ? ? ? ? ? ? ? ? return;
? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? ? if (!animated) {
? ? animate(-600);
? ? ? ? ? ? ? ? }
? ? if(index == 5){
? ? index = 1;
? ? }else{
? ? index += 1;
? ? }
? ? showButton();
? ? console.log(index); //刪掉這一行
? ? ? ? }