幻燈片

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">

<head>

<meta http-equiv="Content-Type" content="text/html;charset=UTF-8">

<title>幻燈片</title>

<script type="text/javascript" src="js/jquery-1.12.4.min.js"></script>

<style type="text/css">

/* 將標簽默認的間距設為0 */

body,ul,p,h1,h2,h3,h4,h5,h6,dl,dd,input,select,form{

margin: 0;

padding: 0;

}

/* 讓h標簽繼承body內設置的字體大小 */

h1,h2,h3,h4,h5,h6{

font-size: 100%;

}

/* 去掉默認的項目圖標 */

ul{

list-style: none;

}

/* 強調文字去掉傾斜 */

em{

font-style: normal;

}

/* 去掉超鏈接的下劃線 */

a{

text-decoration: none;

}

/* 去掉IE下圖片做鏈接的時候產生的邊框 */

img{

border: none;

}

/* 清除margin-top塌陷、清除浮動 */

.clearfix:before,.clearfix:after{

content: "";

display: table;

}

.clearfix:after{

clear: both;

}

/* 兼容IE下清除浮動 */

.clearfix{

zoom: 1;

}

/* 浮動 */

.fl{

float: left;

}

.fr{

float: right;

}

body{

font-family: 'Microsoft Yahei';

color: #666;

font-size: 12px;

}

.center_con{

width: 600px;

height: 400px;

/*background-color: cyan;*/

margin: 50px auto 0;

}

/* ----------幻燈片樣式---------- */

.slide{

width: 600px;

height: 400px;

position: relative;/* 父容器要設置定位,才能讓子元素相對父容器定位 */

overflow:hidden;

}

.slide .slide_pics{

width: 600px;

height: 400px;

left:0;

top:0;

position:relative;

}

.slide .slide_pics li{

width: 600px;

height: 400px;

left:0;

top:0;

position:absolute;

}

/* 左右翻頁箭頭樣式 */

.prev,.next{

width: 20px;

height: 24px;

position: absolute;/* 相對父容器進行絕對定位 */

left:10px;

top:188px;

cursor: pointer;/* 鼠標指針成手形 */

background: url(../images/icons.png) 0px -450px no-repeat;

}

.next{

left: 570px;

background: url(../images/icons.png) 0px -500px no-repeat;

}

/* 小圓點樣式 */

.points{

position: absolute;/* 塊元素默認寬度為父寬度的100%,定位之后就變成行內塊了,它不能繼承父的寬度,如果沒有設置寬高,就由內容決定,所以也必須給它一個寬度 */

width: 100%;

height: 11px;

/*background-color: red;*/

left: 0;

bottom: 9px;

text-align: center;/* 行內塊的居中方式 */

font-size: 0px;/* 去掉行內塊間隙,它引起小圓點沒有挨緊,并且向下超出高度范圍 */

}

.points li{

width: 11px;

height: 11px;

display: inline-block;

background-color: #9f9f9f;

margin: 0 5px;

border-radius: 50%;/* 設置圓角,優雅降級,更好效果請升級瀏覽器,不兼容IE */

}

.points .active{

background-color: #cecece;

}

</style>

<script type="text/javascript">

$(function(){

var $li = $('.slide_pics li');

var len = $li.length;//4張

var $prev = $('.prev');//左按鈕

var $next = $('.next');//右按鈕

var nextli = 0;//將要運動過來的li

var nowli = 0;//當前要離開的li

var timer = null;

//除第一個li,都定位到右側

$li.not(':first').css({left:600});

//動態創建小圓點

$li.each(function(index){

//創建li

var $sli = $('<li></li>');

//第一個li添加選中樣式

if(index == 0){

$sli.addClass('active');

}

//將小圓點的li添加到ul中

$sli.appendTo('.points');

})

$points = $('.points li');

// alert($points.length);//4個小圓點

//小圓點的點擊事件

$points.click(function() {

nextli = $(this).index();

//當點擊當前張的小圓點時,不做任何操作,防止跳變的Bug

if(nextli == nowli){

return;

}

move();

$(this).addClass('active').siblings().removeClass('active');

});

//左按鈕的點擊事件

$prev.click(function() {

nextli--;

move();

//改變圓點樣式

$points.eq(nextli).addClass('active').siblings().removeClass('active');

});

//右按鈕的點擊事件

$next.click(function() {

nextli++;

move();

//改變圓點樣式

$points.eq(nextli).addClass('active').siblings().removeClass('active');

});

//針對外層的slide做鼠標進入和離開事件,因為鼠標指針有可能進入到左右翻頁和小圓點的范圍

//mouseenter使鼠標進入子元素也能清除定時器

$('.slide').mouseenter(function() {

clearInterval(timer);

});

$('.slide').mouseleave(function() {

timer = setInterval(autoplay, 3000);

});

//定時器循環自動播放

timer = setInterval(autoplay, 3000);

//自動播放的邏輯與點擊下一張是相同的

function autoplay(){

nextli++;

move();

//改變圓點樣式

$points.eq(nextli).addClass('active').siblings().removeClass('active');

}

function move(){

//向右走到第一張,再繼續走時

if(nextli < 0){

nextli = len - 1;//將要來的是最后一張

nowli = 0;//要離開的是第一張

$li.eq(nextli).css({left:-600});//把最后一張定位到左側,準備進入

$li.eq(nowli).stop().animate({left: 600});//離開的第一張走到右側

$li.eq(nextli).stop().animate({left: 0});//馬上要進來的最后一張走進來

nowli = nextli;//要離開的賦值為剛進入的最后一張

return;//下邊是正常情況的,不執行,直接返回

}

//向左走到最后一張,再繼續走時

if(nextli > len - 1){

nextli = 0;//將要來的是第一張

nowli = len - 1;//要離開的是最后一張

$li.eq(nextli).css({left:600});//把第一張定位到右側,準備進入

$li.eq(nowli).stop().animate({left: -600});//離開的最后一張走到左側

$li.eq(nextli).stop().animate({left: 0});//馬上要進來的第一張走進來

nowli = nextli;//要離開的賦值為剛進入的第一張

return;//下邊是正常情況的,不執行,直接返回

}

if(nextli > nowli){

//馬上要進來的這張瞬間移動到右邊

$li.eq(nextli).css({left:600});

//當前這張離開

$li.eq(nowli).stop().animate({left: -600});

}else{

//馬上要進來的這張瞬間移動到左邊

$li.eq(nextli).css({left:-600});

//當前這張離開

$li.eq(nowli).stop().animate({left: 600});

}

//馬上要進來的這張走到0的位置

$li.eq(nextli).stop().animate({left: 0});

nowli = nextli;

}

})

</script>

</head>

<body>

<div class="center_con">

<div class="slide fl">

<ul class="slide_pics">

<li><a href=""><img src="images/slide01.jpg" alt="幻燈片" /></a></li>

<li><a href=""><img src="images/slide02.jpg" alt="幻燈片" /></a></li>

<li><a href=""><img src="images/slide03.jpg" alt="幻燈片" /></a></li>

<li><a href=""><img src="images/slide04.jpg" alt="幻燈片" /></a></li>

</ul>

<div class="prev"></div>

<div class="next"></div>

<ul class="points">

<!-- 動態創建小圓點

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

<li></li>

<li></li>

<li></li> -->

</ul>

</div>

</div>

</body>

</html>


最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 229,836評論 6 540
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 99,275評論 3 428
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 177,904評論 0 383
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 63,633評論 1 317
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 72,368評論 6 410
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 55,736評論 1 328
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,740評論 3 446
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 42,919評論 0 289
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 49,481評論 1 335
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 41,235評論 3 358
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 43,427評論 1 374
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,968評論 5 363
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,656評論 3 348
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 35,055評論 0 28
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 36,348評論 1 294
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 52,160評論 3 398
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 48,380評論 2 379

推薦閱讀更多精彩內容