輪播圖

<!DOCTYPE html>

<html lang="en">

<head>

? ? <meta charset="UTF-8">

? ? <title>原生js實(shí)現(xiàn)幻燈片</title>

</head>

<style>

? ? .container{

? ? ? ? width: 100%;

? ? ? ? height: 500px;

? ? ? ? position: relative;

? ? }

? ? .content{

? ? ? ? width: 900px;

? ? ? ? height: 450px;

? ? ? ? position: relative;

? ? ? ? overflow: hidden;

? ? ? ? border: 1px solid seagreen;

? ? ? ? margin: 0 auto;

? ? }

? ? .slider-img{

? ? ? ? width: 900px;

? ? ? ? height: 450px;

? ? ? ? margin: 10px auto;

? ? }

? ? .slider-img img{

? ? ? ? vertical-align: top;

? ? ? ? width: 800px;

? ? ? ? height: 400px;

? ? ? ? margin: 10px 50px;

? ? ? ? display: block;

? ? }

.left{

? ? ? ? margin-top: -300px;

? ? ? ? margin-left: 50px;

? ? ? ? width: 100px;

? ? ? ? height: 100px;

? ? }

? ? .left img,.right img{

? ? ? ? width: 100px;

? ? ? ? height: 100px;

? ? }

? ? .right{

? ? ? ? margin-top: -100px;

? ? ? ? margin-right: 50px;

? ? ? ? float: right;

? ? ? ? width: 100px;

? ? ? ? height: 100px;

? ? }

? ? .dot{

? ? ? ? position: relative;

? ? ? ? top: 23%;

? ? ? ? left: 43%;

? ? ? ? width: 50%;

? ? }

? ? .dotul{

? ? ? ? width: 450px;

? ? }

? ? .dotul li{

? ? ? ? width: 20px;

? ? ? ? height: 20px;

? ? ? ? background-color: seagreen;

? ? ? ? list-style: none;

? ? ? ? float: left;

? ? ? ? border-radius: 20px;

? ? ? ? margin-left: 15px;

? ? ? ? z-index: 999;

? ? ? ? cursor: pointer;

? ? }

.active{

? ? ? ? background-color: orangered !important;

? ? }

</style>

<body>

? ? <div class="container" id="contaner">

? ? ? ? <div class="content" id="content">

? ? ? ? ? ? <div class="slider-img" id="slider" >

? ? ? ? ? ? ? ? <a href="javascript:;">

? ? ? ? ? ? ? ? ? ? <img src="../img/1.jpg" alt="1.jpg" id="img">

? ? ? ? ? ? ? ? </a>

? ? ? ? ? ? </div>

? ? ? ? </div>

? ? ? ? <div class="btn">

? ? ? ? ? ? <div class="left" id="left">

? ? ? ? ? ? ? ? <a href=" ###"><img src="../img/left.png"></a>

? ? ? ? ? ? </div>

? ? ? ? ? ? <div class="right" id="right">

? ? ? ? ? ? ? ? <a href=" ###"><img src="../img/right.png"></a>

? ? ? ? ? ? </div>

? ? ? ? </div>

? ? ? ? <div class="dot">

? ? ? ? ? ? <ul id="ul" class="dotul">

? ? ? ? ? ? ? ? <li class="active"></li>

? ? ? ? ? ? ? ? <li></li>

? ? ? ? ? ? ? ? <li></li>

? ? ? ? ? ? ? ? <li></li>

? ? ? ? ? ? ? ? <li></li>

? ? ? ? ? ? </ul>

? ? ? ? </div>

? ? </div>

<script>

? //首先要獲取元素

? ? var container = document.getElementById("container");

? ? var content = document.getElementById("content");

? ? var slider = document.getElementById("slider");

? ? var img = document.getElementById("img");

? ? var ul = document.getElementById("ul");

? ? var li = document.getElementsByTagName("li");

? ? var left = document.getElementById("left");

? ? var right = document.getElementById("right");

? ? var num = 0;

? ? var timer = null;


? ? //圖片位置

? ? var arrUrl = ["../img/1.jpg","../img/2.jpg","../img/3.jpg","../img/4.jpg","../img/5.jpg"];

? ? left.onclick = function (ev) {

? ? ? ? num--;

? ? ? ? if (num == -1){

? ? ? ? ? ? num = arrUrl.length-1;//如果到了第一張,返回最后一張

? ? ? ? }

? ? ? ? changeImg();

? ? };

right.onclick = function (ev) {

? ? ? ? num++;

? ? ? ? if (num == arrUrl.length){

? ? ? ? ? ? num = 0;//如果是最后一張,則返回第一張

? ? ? ? }

? ? ? ? changeImg();

? ? };

? ? //點(diǎn)擊小圓點(diǎn)跳轉(zhuǎn)到對(duì)應(yīng)的圖片

? ? for (var i=0;i<arrUrl.length;i++){

? ? ? ? ? li[i].index = i;

? ? ? ? ? li[i].onclick = function (ev) {

? ? ? ? ? ? ? num = this.index;

? ? ? ? ? ? ? changeImg();

? ? ? ? ? }

? ? }

? ? setTimeout(autoPlay(),1000);//延遲1秒執(zhí)行自動(dòng)切換

? //鼠標(biāo)移入清除定時(shí)器,鼠標(biāo)移出恢復(fù)

? ? content.onmouseover = function (ev) {

? ? ? ? clearInterval(timer);

? ? };

? ? content.onmouseout = autoPlay;

? //圖片切換函數(shù)

? ? function changeImg() {

? ? ? ? img.src = arrUrl[num];//改變圖片src位置

? ? ? ? for (var i = 0;i< li.length;i++){//改變?cè)c(diǎn)樣式

? ? ? ? ? ? li[i].className = "";

? ? ? ? }

? ? ? ? li[num].className = "active";

? ? }

? ? //設(shè)置定時(shí)器

? ? function autoPlay() {

? ? ? ? timer = setInterval(function () {

? ? ? ? ? ? num++;

? ? ? ? ? ? num %= arrUrl.length;

? ? ? ? ? ? changeImg();

? ? ? ? },2000);

? ? }

</script>

</body>


</html >

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 輪播圖 思路:(利用固定位會(huì)脫離文檔流的原理是圖片排一行)給圖片固定定位,那么聽(tīng)要有一個(gè)相對(duì)定位的父親。例子如下:...
    痛心涼閱讀 413評(píng)論 6 6
  • <!DOCTYPE html> Document *{ margin: ...
    kino2046閱讀 612評(píng)論 0 50
  • <!DOCTYPE html> banner輪播 *{ margin: 0;...
    張大超Charlie閱讀 281評(píng)論 0 1
  • 思路:每次選擇圖片,通過(guò)修改img標(biāo)簽的src屬性,來(lái)展示輪播。 html: 1 2 3 4 5 < > 樣式: ...
    NOExceptio_9f20閱讀 273評(píng)論 0 0
  • 進(jìn)入前端將近一年了,js還是很弱,突發(fā)奇想寫一個(gè)輪播圖,就找到了這個(gè)博主的材料,和大家分享。 輪播圖的原理: 一系...
    FRRRR閱讀 3,751評(píng)論 0 11

友情鏈接更多精彩內(nèi)容