Home  >  Article  >  Web Front-end  >  Javascript code example to implement focus chart carousel effect

Javascript code example to implement focus chart carousel effect

青灯夜游
青灯夜游forward
2020-03-30 11:22:423949browse

本篇文章通过代码实例来给大家介绍一下javascript实现焦点图轮播效果。有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。

Javascript code example to implement focus chart carousel effect

JS实现焦点图轮播效果

效果图:

Javascript code example to implement focus chart carousel effect

(不过里面的图片路径需要自己改成自己的图片路径,否则是没有图片显示的哦)

代码如下,复制即可使用:

nbsp;html>


<meta>
<title>JS实现焦点图轮播效果</title>
<style>
* {
margin: 0;
padding: 0;
text-decoration: none;
}

body {
padding: 20px;
}

#container {
width: 600px;
height: 400px;
border: 3px solid #333;
overflow: hidden;
position: relative;
}

#list {
width: 4200px;
height: 400px;
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: 180px;
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>
<script>
window.onload = function() {
var container = document.getElementById(&#39;container&#39;);
var list = document.getElementById(&#39;list&#39;);
var buttons = document.getElementById(&#39;buttons&#39;).getElementsByTagName(&#39;span&#39;);
var prev = document.getElementById(&#39;prev&#39;);
var next = document.getElementById(&#39;next&#39;);
var index = 1;
var len = 5;
var animated = false;
var interval = 3000;
var timer;

function animate(offset) {
    if(offset == 0) {
        return;
    }
    animated = true;
    var time = 300;
    var inteval = 10;
    var speed = offset / (time / inteval);
    var left = parseInt(list.style.left) + offset;

    var go = function() {
        if((speed > 0 && parseInt(list.style.left) < left) ||
         (speed < 0 && parseInt(list.style.left) > left)) {
            list.style.left = parseInt(list.style.left) + speed + &#39;px&#39;;
            setTimeout(go, inteval);
        } else {
            list.style.left = left + &#39;px&#39;;
            if(left > -200) {
                list.style.left = -600 * len + &#39;px&#39;;
            }
            if(left < (-600 * len)) {
                list.style.left = &#39;-600px&#39;;
            }
            animated = false;
        }
    }
    go();
}

function showButton() {
    for(var i = 0; i < buttons.length; i++) {
        if(buttons[i].className == &#39;on&#39;) {
            buttons[i].className = &#39;&#39;;
            break;
        }
    }
    buttons[index - 1].className = &#39;on&#39;;
}

function play() {
    timer = setTimeout(function() {
        next.onclick();
        play();
    }, interval);
}

function stop() {
    clearTimeout(timer);
}

next.onclick = function() {
    if(animated) {
        return;
    }
    if(index == 5) {
        index = 1;
    } else {
        index += 1;
    }
    animate(-600);
    showButton();
}
prev.onclick = function() {
    if(animated) {
        return;
    }
    if(index == 1) {
        index = 5;
    } else {
        index -= 1;
    }
    animate(600);
    showButton();
}

for(var i = 0; i < buttons.length; i++) {
    buttons[i].onclick = function() {
        if(animated) {
            return;
        }
        if(this.className == &#39;on&#39;) {
            return;
        }
        var myIndex = parseInt(this.getAttribute(&#39;index&#39;));
        var offset = -600 * (myIndex - index);

        animate(offset);
        index = myIndex;
        showButton();
    }
}

container.onmouseover = stop;
container.onmouseout = play;

play();

}
</script>




<div>
<div>

<!-- 放最后的一张图片 -图片需要改为自己的图片路径 -->
<img  alt="Javascript code example to implement focus chart carousel effect" >
<img  alt="Javascript code example to implement focus chart carousel effect" >
<img  alt="Javascript code example to implement focus chart carousel effect" >
<img  alt="Javascript code example to implement focus chart carousel effect" >
<img  alt="Javascript code example to implement focus chart carousel effect" >
<img  alt="Javascript code example to implement focus chart carousel effect" >
<!-- 放第一张的图片 -->
<img  alt="Javascript code example to implement focus chart carousel effect" >
</div>
<div>
<span></span>
<span></span>
<span></span>
<span></span>
<span></span>
</div>
<a><</a>
<a href="javascript:;" id="next" class="arrow">></a>
</div>



更多炫酷CSS3、html5、javascript特效代码,尽在:js特效大全

The above is the detailed content of Javascript code example to implement focus chart carousel effect. For more information, please follow other related articles on the PHP Chinese website!

Statement:
This article is reproduced at:cnblogs.com. If there is any infringement, please contact admin@php.cn delete