星海爭霸21全功能兌換碼新手獎勵1、7小時遊戲時間(14天內)解除所有試玩版本限制直到7小時耗盡,如種族、匹配模式、戰役、地圖等詳細資訊(150119更新)4505624695013984483730049
2020-11-30 03:45:43
每當我們在各種網站上瀏覽資訊時,細心的朋友可能會注意到,很多網站首頁都會有很酷的圖片輪流播放效果,這就是我們說的「輪播圖」。例如天貓商城,我們看到,精美的圖片每隔幾秒後自動輪播。這是許多網站設計者在設計過程中所青睞的展現重要內容的方式之一。
那麼,如何實現這一簡單的圖片輪播效果呢?下面,小編來為大家講解一下,怎樣用JS製作簡單的輪播圖吧!
前端用到的編輯器有很多,本例通過選擇Sublime Text3編輯器來實現輪播圖的製作。第一步,開啟電腦中安裝的Sublime Text3,新建demo資料夾用來存放檔案,在裡面新建一個html檔案,通過Tab快捷鍵迅速建立一個html模板,並命名標題。如圖所示:
第二步,在Body中寫簡單的html程式碼。首先在頂部head標籤裡引入外部CSS和JS,注意要引入jQuery庫,並且要放在所寫的js上面,不然不會有效果。然後,在一個div中包裹兩個ul,第一個ul用於顯示圖片,第二個ul則定義頁碼。程式碼如下所示:
<div id="scrollPics">
<ul class="slider">
<li><img src="images/1.jpg" /></li>
<li><img src="images/2.jpg" /></li>
<li><img src="images/3.jpg" /></li>
<li><img src="images/4.jpg" /></li>
</ul>
<ul class="num"></ul>
</div>
第三步,寫外部CSS。其中,我們設定div的高為 420px,寬為 790px,並且設為相對定位;第二個ul設定絕對定位,並處理好位置。然後第二個ul中的li標籤設定左浮動,以及相關樣式;最後的樣式是通過js新增的類的樣式,即顯示索引對應的圖片的樣式。程式碼如下:
ul li {
list-style: none;
}
#scrollPics {
height: 420px;
width: 790px;
margin-bottom: 10px;
overflow: hidden;
position: relative;
}
.slider {
margin-top: 0;
}
.num {
position: absolute;
right: 5px;
bottom: 5px;
}
#scrollPics .num li {
float: left;
color: #FF7300;
text-align: center;
line-height: 16px;
width: 16px;
height: 16px;
cursor: pointer;
overflow: hidden;
margin: 3px 1px;
border: 1px solid #FF7300;
background-color: #fff;
}
#scrollPics .num li.on {
color: #fff;
line-height: 21px;
width: 21px;
height: 21px;
font-size: 16px;
margin: 0 1px;
border: 0;
background-color: #FF7300;
font-weight: bold;
}
第四步,開始寫核心的JS程式碼。首先定義幾個全域性變數。其中,imgCon表示獲取到對應的圖片存放的變數,並且初始化,除第一張圖片外其他隱藏;num變數則用來定義頁碼;len 定義圖片個數; index 表示索引。如圖所示:
var slider = $('#scrollPics .slider');
var imgCon = $('#scrollPics .slider li'); //獲取圖片
imgCon.not(imgCon.eq(0)).hide(); //除第一張其他隱藏
var num = $('#scrollPics .num'); //定義頁碼
var len = slider.find('li').length;
var html_page = '', index = 0;
第五步,我們要實現的效果是,圖片自動輪播,所以需要獲取到對應的索引的值,然後設定計時器,每隔兩秒切換到下一個圖片。如果到了最後面一張圖片,則索引值又變成0,即切換到第一張圖片,如此規律迴圈。如圖所示:
for (var i = 0; i < len; i++) {
if (i === 0) {
html_page += '<li class=on >' + (i + 1) + '</li>';
} else {
html_page += '<li>' + (i + 1) + '</li>';
}
}
window.timer = setInterval(function () {
showPic(index);
index++;
if (index === len) {
index = 0;
}
}, 2000);
第六步,當我們點選或滑鼠移動到某個索引處時,顯示相應的索引對應的圖片,並且旁邊的圖片隱藏,然後為該索引新增一個類的樣式,相應的兄弟節點移除對應的樣式;接著新增一個滑鼠移動事件,用來獲取索引,以及顯示索引對應的圖片。程式碼如下圖所示:
//顯示索引對應的圖片
function showPic(index) {
imgCon.eq(index).show().siblings("li").hide();
num.find("li").eq(index).addClass('on').siblings("li").removeClass("on");
}
//頁碼按鈕移入
$('.num li').mouseover(function () {
index = $(this).index(); //獲取索引
showPic(index);
});
最後,觸發被選元素的指定事件。滑鼠移動到相應的索引處時,清除計時器,顯示相應的圖片。否則,繼續執行計時器事件,每隔兩秒,索引增加一個單位,展示相應的圖片,迴圈圖片輪播。程式碼如下圖所示:
$('#scrollPics').hover(function () {
clearInterval(window.timer);
}, function () {
window.timer = setInterval(function () {
showPic(index);
index++;
if (index === len) {
index = 0;
}
}, 2000);
}).trigger('mouseleave'); //觸發被選元素的指定事件
至此,完整的js程式碼就完成了,程式碼如下。同時,完整的輪播圖程式碼也就完成了。我們檢查程式碼無誤後,切換到html檔案,右擊,或在資料夾中雙擊檔案,在瀏覽器中檢視效果,效果如圖所示(其實每寫完一步程式碼就應該檢視效果,即偵錯。)。
$(function () {
var slider = $('#scrollPics .slider');
var imgCon = $('#scrollPics .slider li'); //獲取圖片
imgCon.not(imgCon.eq(0)).hide(); //除第一張其它隱藏
var num = $('#scrollPics .num'); //定義頁碼
var len = slider.find('li').length;
var html_page = '', index = 0;
//新增頁碼
for (var i = 0; i < len; i++) {
if (i === 0) {
html_page += '<li class=on >' + (i + 1) + '</li>';
} else {
html_page += '<li>' + (i + 1) + '</li>';
}
}
num.html(html_page);
//顯示索引對應的圖片
function showPic(index) {
imgCon.eq(index).show().siblings("li").hide();
num.find("li").eq(index).addClass('on').siblings("li").removeClass("on");
}
//頁碼按鈕移入
$('.num li').mouseover(function () {
index = $(this).index(); //獲取索引
showPic(index);
})
$('#scrollPics').hover(function () {
clearInterval(window.timer);
}, function () {
window.timer = setInterval(function () {
showPic(index);
index++;
if (index === len) {
index = 0;
}
}, 2000);
}).trigger('mouseleave'); //觸發被選元素的指定事件
});
附:本經驗關鍵詞:怎樣做輪播圖、輪播圖怎麼做、輪播圖實現原理、jquery輪播圖程式碼、JS做輪播圖、輪播圖自動播放、圖片輪播怎麼做、怎樣製作圖片輪播、js如何製作圖片輪播、JS怎麼製作輪播圖、JS輪播圖、輪播圖JS、JS製作輪播圖。
附:可以點選下面「經驗參照」參考我的另一篇經驗「如何用Bootstrap製作輪播圖」
相關文章
星海爭霸21全功能兌換碼新手獎勵1、7小時遊戲時間(14天內)解除所有試玩版本限制直到7小時耗盡,如種族、匹配模式、戰役、地圖等詳細資訊(150119更新)4505624695013984483730049
2020-11-30 03:45:43
我們經常會玩決勝時刻戰區遊戲,但是有很多朋友不知道決勝時刻戰區國際服註冊方法,下面就詳細說下決勝時刻戰區國際服註冊方法。1首先我們開啟自己電腦中的瀏覽器,比如360瀏覽器
2020-11-29 16:08:59
決勝時刻黑色行動4的應用獲取的方法。1準備好網路的網速,開啟瀏覽器的頁面。 2決勝時刻黑色行動4將其輸入到搜尋頁中,點選搜尋。 3選擇圖中展示的決勝時刻黑色行動4中文版網頁
2020-11-29 16:06:30
決勝時刻是一個很好玩的遊戲,但是安裝過程比較困難,下面小編和你分享一下經驗! 1一般有很多個壓縮檔案的那種,任意解壓一個壓縮包之後會生成一個映象用虛擬光碟機載入,之後按用光
2020-11-29 10:07:32
小編教你決勝時刻9BO2.怎麼安裝,希望你的生活多姿多彩~ 1首先,你買的基本可以確定,是盜版,或者說所謂的偽正版——同學,多去steam吧或者戰地3吧看一看,會提高你對盜版/偽正版的鑑
2020-11-29 05:49:58
目前很多決勝時刻的玩家都在找版本10的中文版,其實現在正版的當中還沒有中文,退而求其次吧,小編這裡分享一些貼圖大家參考一下 1基礎選單,直接看圖片吧 2基礎選單,直接看圖片吧 3
2020-11-29 05:29:49