JavaScript實(shí)現(xiàn)圖片切換效果
本文實(shí)例為大家分享了JavaScript實(shí)現(xiàn)圖片切換效果,自定義屬性的應(yīng)用 供大家參考,具體內(nèi)容如下
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>圖片切換實(shí)例</title>
<style>
body{
background-color: #A9A9A9;
margin:0px;
}
ul{
padding: 0;
margin: 0;
}
li{
list-style: none;
}
#pic{
width:670px;
height: 420px;
position:relative;
margin: 0 auto;/*整個(gè)div放到頁(yè)面中間的位置*/
background:url(img/loading.png) no-repeat center;
background-color:#fff;
}
#pic img{
width:670px;
height: 420px;
}
#pic ul{
position: absolute;
top: 0px;
right: -50px;
}
#pic li{
width:40px;
height:40px;
margin-bottom: 4px;
background:#666;
}
#pic .active{
background: cadetblue;
}
#pic span{
top:0px;
}
#pic p{
bottom:0px;
margin:0;
}
#pic p,#pic span{
width: 670px;
height: 30px;
line-height: 30px;
text-align: center;
position:absolute;
left:0px;
color:#fff;
background-color:#333;
}
</style>
<script>
window.onload = function(){
var oDiv = document.getElementById("pic");
var oImg = document.getElementsByTagName("img")[0];//有tag標(biāo)簽的地方就得有數(shù)組[0],否則不提示錯(cuò)誤,但卻會(huì)加載不出來(lái)需要的內(nèi)容。
var oP = document.getElementsByTagName("p")[0];
var oNum = document.getElementsByTagName("span")[0];
var oUl = document.getElementsByTagName("ul")[0];
var aLi = oUl.getElementsByTagName("li");//通過(guò)父標(biāo)簽找到的子標(biāo)簽,這里不能加數(shù)組[0]
var arrUrl = ["img/1.jpg","img/2.jpg","img/3.jpg","img/4.jpg","img/5.png"];
var arrText = ["中原工學(xué)院圖書館","中工宿舍樓","玫瑰花","小貓咪","綠色盆栽"];
for(var i=0;i<arrUrl.length;i++){
oUl.innerHTML += "<li></li>";//添加用“+=”,該寫用“=”
}
//初始化
//有數(shù)組的地方,大部分都有一個(gè)數(shù)字在靜靜的等待.數(shù)組配合數(shù)字以便找到需要的內(nèi)容。
var num = 0;
oImg.src = arrUrl[num];
oP.innerHTML = arrText[num];
oNum.innerHTML = 1+num+'/'+arrUrl.length;
//在ul中添加li,根據(jù)數(shù)組的長(zhǎng)度,為ul添加li的數(shù)量
aLi[num].className = "active";//為標(biāo)簽添加class屬性,需要用到className
for(i=0;i<aLi.length;i++){
aLi[i].index = i;//索引值,需要添加對(duì)應(yīng)關(guān)系,就要想到添加索引值
//定義的有數(shù)組,就不能忘記加[0]
aLi[i].onclick = function(){
//點(diǎn)擊按鈕,找到與之對(duì)應(yīng)的圖片
oImg.src = arrUrl[this.index];
oP.innerHTML = arrText[this.index];
oNum.innerHTML = 1+this.index+'/'+arrUrl.length;
//添加對(duì)應(yīng)的點(diǎn)擊時(shí),li的圖標(biāo)發(fā)生變化,兩種思路
//思路1:清空當(dāng)前所有active樣式,為當(dāng)前添加此class屬性(擴(kuò)展性好,但是運(yùn)行速度可能不好)
for(var i=0; i<aLi.length; i++){
aLi[i].className = "";
}
this.className = "active";
//思路2:清空前一個(gè)點(diǎn)擊li的樣式,為當(dāng)前添加class屬性(定點(diǎn)清除)
}
}
}
</script>
</head>
<body>
<div id="pic" >
<img src=""/>
<span>數(shù)量正在加載中......</span>
<p>文字說(shuō)明正在加載中......</p>
<ul>
</ul>
</div>
</body>
</html>
JavaScript代碼片段可以簡(jiǎn)化成如下:
<script>
window.onload = function(){
var oDiv = document.getElementById("pic");
var oImg = document.getElementsByTagName("img")[0];
var oP = document.getElementsByTagName("p")[0];
var oNum = document.getElementsByTagName("span")[0];
var oUl = document.getElementsByTagName("ul")[0];
var aLi = oUl.getElementsByTagName("li");
var arrUrl = ["img/1.jpg","img/2.jpg","img/3.jpg","img/4.jpg","img/5.png"];
var arrText = ["中原工學(xué)院圖書館","中工宿舍樓","玫瑰花","小貓咪","綠色盆栽"];
for(var i=0;i<arrUrl.length;i++){
oUl.innerHTML += "<li></li>";
}
//初始化
var num = 0;
function fnTab(){
oImg.src = arrUrl[num];
oP.innerHTML = arrText[num];
oNum.innerHTML = 1+num+'/'+arrUrl.length;
aLi[num].className = "";
}
fnTab();
for(i=0;i<aLi.length;i++){
aLi[i].index = i;
aLi[i].onclick = function(){
num = this.index;
fnTab();
}
aLi[num].className = "active";
}
}
}
</script>
效果圖:

不會(huì)做動(dòng)圖!明天再試試!
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- 最簡(jiǎn)單的js圖片切換效果實(shí)現(xiàn)代碼
- 用html+css+js實(shí)現(xiàn)的一個(gè)簡(jiǎn)單的圖片切換特效
- 純js實(shí)現(xiàn)背景圖片切換效果代碼
- 簡(jiǎn)單的實(shí)現(xiàn)點(diǎn)擊箭頭圖片切換的js代碼
- css圖片切換效果代碼[不用js]
- 純js無(wú)flash仿搜狐女人頻道FLASH圖片切換效果代碼
- javascript實(shí)現(xiàn)圖片切換的幻燈片效果源代碼
- JS實(shí)現(xiàn)圖片切換效果
- js鼠標(biāo)點(diǎn)擊圖片切換效果代碼分享
- javascript實(shí)現(xiàn)點(diǎn)擊圖片切換功能
相關(guān)文章
JavaScript實(shí)現(xiàn)鼠標(biāo)懸浮頁(yè)面切換效果
這篇文章主要為大家詳細(xì)介紹了JavaScript實(shí)現(xiàn)鼠標(biāo)懸浮頁(yè)面切換效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-03-03
淺析如何在Bash中調(diào)用Node運(yùn)行JS文件進(jìn)行數(shù)據(jù)通信
這篇文章主要來(lái)和大家探討在 Bash 中調(diào)用 Node 運(yùn)行 JS 文件時(shí)如何進(jìn)行數(shù)據(jù)通信,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2024-03-03
微信小程序?qū)崿F(xiàn)簡(jiǎn)易加法計(jì)算器
這篇文章主要為大家詳細(xì)介紹了微信小程序加法計(jì)算器,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-09-09
JavaScript中匿名函數(shù)的遞歸調(diào)用
本文主要介紹了JavaScript中匿名函數(shù)的遞歸調(diào)用。具有很好的參考價(jià)值,下面跟著小編一起來(lái)看下吧2017-01-01
JS 設(shè)置Cookie 有效期 檢測(cè)cookie
這篇文章主要介紹了JS 設(shè)置Cookie 有效期 檢測(cè)cookie的相關(guān)資料,需要的朋友可以參考下2017-06-06
js/jquery控制頁(yè)面動(dòng)態(tài)加載數(shù)據(jù) 滑動(dòng)滾動(dòng)條自動(dòng)加載事件的方法
下面小編就為大家?guī)?lái)一篇js/jquery控制頁(yè)面動(dòng)態(tài)加載數(shù)據(jù) 滑動(dòng)滾動(dòng)條自動(dòng)加載事件的方法。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-02-02
JS的replace方法與正則表達(dá)式結(jié)合應(yīng)用講解
replace方法的語(yǔ)法是:stringObj.replace(rgExp, replaceText) 其中stringObj是字符串(string),reExp可以是正則表達(dá)式對(duì)象(RegExp)也可以是字符串(string),replaceText是替代查找到的字符串。。為了幫助大家更好的理解,下面舉個(gè)簡(jiǎn)單例子說(shuō)明一下2007-12-12
詳解GoJs節(jié)點(diǎn)的選中高亮實(shí)現(xiàn)示例
這篇文章主要為大家介紹了GoJs節(jié)點(diǎn)的選中高亮實(shí)現(xiàn)示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-05-05

