首頁 >web前端 >js教程 >簡析如何用js實作簡單輪播

簡析如何用js實作簡單輪播

**
**原創
2021-07-28 15:57:462449瀏覽

設計想法:利用js當中的計時器實現圖片輪播的效果,將所有圖片放入img資料夾下,我當時是存放了三張照片。然後將三張照片分別放入三個div,每一個div顯示和隱藏都是靠定時器進行控制,左下角有三個數字的div代表這是第幾張圖片,一共有三張圖片所以是三個div。

#程式碼:

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title></title>
<style type="text/css">
.imgbox{
width: 100%;
height:400px;
background-color: black;
transform: 1s;
}
.img{
width: 100%;
height:100%;
background-image: url(img/37fa7b724f5c49cd8c2d0efad885f1a8.jpeg);
background-repeat:no-repeat;
background-size:cover ;
}
.img0{
width: 100%;
height:100%;
background-image: url(img/37fa7b724f5c49cd8c2d0efad885f1a8.jpeg);
background-repeat:no-repeat;
background-size:100% ;
}
.img1{
width: 100%;
height:100%;
background-image: url(img/5572568_110213373115_2.jpg);
background-repeat:no-repeat;
background-size:100% ;
}
.img2{
width: 100%;
height:100%;
background-image: url(img/5875f5fb7a8f8.jpg);
background-repeat:no-repeat;
background-size:100% ;
}
.img3{
width: 100%;
height:100%;
background-image: url(img/980.jpg);
background-repeat:no-repeat;
background-size:100% ;
}
            ul{
margin-left:-30px ;
list-style-type: none;
position: relative;
margin-top: -100px;
line-height: 50px;
}
ul li{
float: left;
width: 50px;
height:50px;
border:1px solid #000000;
text-align: center;
background-color: aliceblue;
}
.div{
background-color: orange;
line-height: 50px;
}
.div1{
background-color: gainsboro;
line-height: 50px;
}
</style>
<script type="text/javascript">
var i=0;
function imgbox(){
   i++;
  if(i<4){
  document.getElementById("img").className="img"+i;
  if(i==1){
  document.getElementById("one").className="div";
  document.getElementById("two").className="div1";
  document.getElementById("three").className="div1";
  }
  if(i==2){
     document.getElementById("one").className="div1";
     document.getElementById("two").className="div";
     document.getElementById("three").className="div1";
  }
  if(i==3){
     document.getElementById("one").className="div1";
     document.getElementById("two").className="div1";
     document.getElementById("three").className="div";
  } 
}
if(i==4){
i=0;
clearInterval(&#39;imgbox()&#39;);
}
}
setInterval(&#39;imgbox()&#39;,1000);
</script>
</head>
<body>
<div class="imgbox">
<div class="img" id="img"></div>
<ul id="ul">
<li id="one">1</li>
<li id="two">2</li>
<li id="three">3</li>
</ul>
</div>
</body>
</html>

認識HTML

#HTML,就是我們所說的網頁,網頁的檔案格式就是.html格式。在我們眼裡,它是一種超文本語言,不需要額外的編譯或處理,寫好,打開,就是一個網頁。

Html組成由許多標籤組成如e388a4556c0f65e1904146cc1a846bee、c8b28895262a62371d18ac056c4442e2、d5fd7aea971a85678ba271703566ebfd、a1f02c36ba31691bcfe87b2722de723b......,還有一些語意化標籤如1aa9e5d373740b65a0cc8f0a02150c53 、c37f8231a37e88427e62669260f0074d、c787b9a589a3ece771e842a6176cf8e9....。

什麼是js:

js(JavaScript)一種直譯式腳本語言。 JavaScript腳本可直接放在HTML語言中,在支援js的瀏覽器上執行。廣泛用於網頁應用程式開發,常用來為網頁添加各式各樣的動態功能,為使用者提供更流暢美觀的瀏覽效果。當在瀏覽網頁時做了某種操作就產生一個事件,JavaScript所編寫的程式可對對應的事件做出反應。

js計時器:定義定時器setInterval('imgbox()',1000);每隔一秒執行一次imgbox方法, imgbox方法包含圖片的改變,還有div顏色的改變

啟用計時器

   window物件提供了兩個方法來實現計時器的效果,分別是window.setTimeout()和window.setInterval。其中前者可以使一段程式碼在指定時間後運作;而後者則可以讓一段程式碼每過指定時間就執行一次。它們的原型如下:

   window.setTimeout(code,millisec);
   window.setInterval(code,millisec);

   其中,code可以是用引號括起來的一段程式碼,也可以是一個函數名,到了指定的時間,系統便會自動呼叫該函數,當使用函數名作為呼叫句柄時,不能帶有任何參數;而使用字串時,則可以在其中寫入要傳遞的參數。兩個方法中的第二個參數是millisec,表示延時或重複執行的毫秒數。

具體寫法如下:

函數名,不含參數setTimeout (test,1000);字串,可以執行的程式碼setTimeout ('test()', 1000);匿名函數setTimeout (function(){},1000);註:setInterval的用法與setTimeout一樣

呼叫函數,帶參數setTimeout ('test(參數)',1000);  

##div佈局:使用ul,li進行佈局

修改樣式如下:

ul{
margin-left:-30px ;//据左部边距
list-style-type: none;//去除默认ul样式
position: relative;//采用相对定位
margin-top: -100px;//据顶部边距
line-height: 50px;//行高
}
ul li{
float: left;//浮动
width: 50px;
height:50px;
border:1px solid #000000;//边框
text-align: center;//文字居中
background-color: aliceblue;
}

Html結構:

<div>
<div id="img"></div>
<ul id="ul">
<li id="one">1</li>
<li id="two">2</li>
<li id="three">3</li>
</ul>
</div>

Img為大的div盒子,img為圖片, ff6d136ddc5fdfeffaf53ff6ee95f185裡麵包含li為第幾張圖片。

以上是簡析如何用js實作簡單輪播的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn