Heim > Web-Frontend > js-Tutorial > Hauptteil

Javascript-Codebeispiel zur Implementierung des Fokusdiagramm-Karusselleffekts

青灯夜游
Freigeben: 2020-03-30 11:22:42
nach vorne
3952 Leute haben es durchsucht

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

Javascript-Codebeispiel zur Implementierung des Fokusdiagramm-Karusselleffekts

JS实现焦点图轮播效果

效果图:

Javascript-Codebeispiel zur Implementierung des Fokusdiagramm-Karusselleffekts

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

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

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-Codebeispiel zur Implementierung des Fokusdiagramm-Karusselleffekts" >
<img  alt="Javascript-Codebeispiel zur Implementierung des Fokusdiagramm-Karusselleffekts" >
<img  alt="Javascript-Codebeispiel zur Implementierung des Fokusdiagramm-Karusselleffekts" >
<img  alt="Javascript-Codebeispiel zur Implementierung des Fokusdiagramm-Karusselleffekts" >
<img  alt="Javascript-Codebeispiel zur Implementierung des Fokusdiagramm-Karusselleffekts" >
<img  alt="Javascript-Codebeispiel zur Implementierung des Fokusdiagramm-Karusselleffekts" >
<!-- 放第一张的图片 -->
<img  alt="Javascript-Codebeispiel zur Implementierung des Fokusdiagramm-Karusselleffekts" >
</div>
<div>
<span></span>
<span></span>
<span></span>
<span></span>
<span></span>
</div>
<a><</a>
<a href="javascript:;" id="next" class="arrow">></a>
</div>



Nach dem Login kopieren

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

Das obige ist der detaillierte Inhalt vonJavascript-Codebeispiel zur Implementierung des Fokusdiagramm-Karusselleffekts. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:cnblogs.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage