用jquery實(shí)現(xiàn)簡單的輪播

還是先貼代碼

<!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>Document</title>
    <script src="http://libs.baidu.com/jquery/1.8.3/jquery.min.js"></script>
    <style>
        *{margin: 0;padding: 0}
        #slider{width: 800px;height: 450px;display:block;margin: 0 auto;margin-top: 100px;border:1px solid #ddd;overflow: hidden;position: relative;}
        #slider li{display: block;float: left;}
        #slider li img{width: 800px;height: 450px;}
        #slider button.up{position: absolute;top: 50%;z-index: 9;left: 20px;width: 50px;height: 50px;text-align: center;}
        #slider button.down{position: absolute;top: 50%;z-index: 9;right: 20px;width: 50px;height: 50px;text-align: center;}
    </style>
</head>
<body>
    <div id="slider">
        <ul>
            <li><a href=""><img src="img/1.jpg" alt="" /></a></li>
            <li><a href=""><img src="img/2.jpg" alt="" /></a></li>
            <li><a href=""><img src="img/3.jpg" alt="" /></a></li>
        </ul>
        <button class="up">向上</button>
        <button class="down">向下</button>
    </div>
<script>
    
// Decode slider QQ:970220385
var sliderWidth = $("#slider li").width();
var sliderSize = $("#slider li").size();
var sliderUl = $("#slider ul")
sliderUl.width(sliderWidth*sliderSize);
var timer
function time(){
    timer=setInterval(function(){
        slider();
    },3000);
}
var i = 0
function slider(){
    if (i>=sliderSize-1) {
        i = 0
    } else {
        i ++
    }
    sliderUl.stop().animate({marginLeft: -sliderWidth*i}, 500);
};
    
time()
$("button.up").click(function(event) {
    if( i !== 0){
        sliderUl.stop().animate({marginLeft: -(i-1)*sliderWidth}, 500);
        i --
    }else{
        i = sliderSize-1
        sliderUl.stop().animate({marginLeft: -i*sliderWidth}, 500);
    };
    
    clearInterval(timer)
    time();
});
$("button.down").click(function(event) {
    slider();
    clearInterval(timer)
    time(); 
});

</script>
</body>
</html>

大概思路

實(shí)現(xiàn)思路差不多就是先建立一個定時器

  1. 對變量 i 進(jìn)行每3s一次+1
  2. 然后獲取頁面中需要滾動的圖片數(shù)量
  3. 利用margin-left乘以 i 配合animate進(jìn)行動畫滾動愚墓。
  4. 判斷i的數(shù)值是否大于圖片滾動的數(shù)量,如果大于將變量賦值0
  5. 左右按鈕直接利用slider()方法先強(qiáng)行執(zhí)行一次動畫并且i++
  6. 這時候大家會發(fā)現(xiàn)一個小bug祠汇,就是當(dāng)你不停地點(diǎn)左右的時候就會出現(xiàn)滾動誤差腾供,所以這里我們用clearInterval(timer)方法去暫停一下原來的事件锨亏,再執(zhí)行time()

總結(jié):

大概就是利用了i的數(shù)值一個循環(huán)再判斷的方法活合,十分簡單文判,沒有深入研究過代碼簡化胧谈,望有更好的方法解決忆肾,歡迎學(xué)習(xí)前端的朋友加我的qq.970220385 有什么不明白也可以一起交流探討

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市菱肖,隨后出現(xiàn)的幾起案子客冈,更是在濱河造成了極大的恐慌,老刑警劉巖蔑滓,帶你破解...
    沈念sama閱讀 206,602評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件郊酒,死亡現(xiàn)場離奇詭異遇绞,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)燎窘,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,442評論 2 382
  • 文/潘曉璐 我一進(jìn)店門摹闽,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人褐健,你說我怎么就攤上這事付鹿。” “怎么了蚜迅?”我有些...
    開封第一講書人閱讀 152,878評論 0 344
  • 文/不壞的土叔 我叫張陵舵匾,是天一觀的道長。 經(jīng)常有香客問我谁不,道長坐梯,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 55,306評論 1 279
  • 正文 為了忘掉前任刹帕,我火速辦了婚禮吵血,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘偷溺。我一直安慰自己蹋辅,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,330評論 5 373
  • 文/花漫 我一把揭開白布挫掏。 她就那樣靜靜地躺著侦另,像睡著了一般。 火紅的嫁衣襯著肌膚如雪尉共。 梳的紋絲不亂的頭發(fā)上褒傅,一...
    開封第一講書人閱讀 49,071評論 1 285
  • 那天,我揣著相機(jī)與錄音爸邢,去河邊找鬼樊卓。 笑死,一個胖子當(dāng)著我的面吹牛杠河,可吹牛的內(nèi)容都是我干的碌尔。 我是一名探鬼主播,決...
    沈念sama閱讀 38,382評論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼券敌,長吁一口氣:“原來是場噩夢啊……” “哼唾戚!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起待诅,我...
    開封第一講書人閱讀 37,006評論 0 259
  • 序言:老撾萬榮一對情侶失蹤叹坦,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后卑雁,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體募书,經(jīng)...
    沈念sama閱讀 43,512評論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡绪囱,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,965評論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了莹捡。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片鬼吵。...
    茶點(diǎn)故事閱讀 38,094評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖篮赢,靈堂內(nèi)的尸體忽然破棺而出齿椅,到底是詐尸還是另有隱情,我是刑警寧澤启泣,帶...
    沈念sama閱讀 33,732評論 4 323
  • 正文 年R本政府宣布涣脚,位于F島的核電站,受9級特大地震影響寥茫,放射性物質(zhì)發(fā)生泄漏遣蚀。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,283評論 3 307
  • 文/蒙蒙 一纱耻、第九天 我趴在偏房一處隱蔽的房頂上張望妙同。 院中可真熱鬧,春花似錦膝迎、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,286評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至柴灯,卻和暖如春卖漫,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背赠群。 一陣腳步聲響...
    開封第一講書人閱讀 31,512評論 1 262
  • 我被黑心中介騙來泰國打工羊始, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人查描。 一個月前我還...
    沈念sama閱讀 45,536評論 2 354
  • 正文 我出身青樓突委,卻偏偏與公主長得像,于是被迫代替她去往敵國和親冬三。 傳聞我的和親對象是個殘疾皇子匀油,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,828評論 2 345

推薦閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 171,510評論 25 707
  • 1. Java基礎(chǔ)部分 基礎(chǔ)部分的順序:基本語法,類相關(guān)的語法勾笆,內(nèi)部類的語法敌蚜,繼承相關(guān)的語法,異常的語法窝爪,線程的語...
    子非魚_t_閱讀 31,581評論 18 399
  • 《ilua》速成開發(fā)手冊3.0 官方用戶交流:iApp開發(fā)交流(1) 239547050iApp開發(fā)交流(2) 1...
    葉染柒丶閱讀 10,536評論 0 11
  • 《ijs》速成開發(fā)手冊3.0 官方用戶交流:iApp開發(fā)交流(1) 239547050iApp開發(fā)交流(2) 10...
    葉染柒丶閱讀 5,073評論 0 7
  • 我們都笑著說回見 但我們都心知肚明弛车,分別齐媒,即是永遠(yuǎn)。
    貓霸霸i閱讀 130評論 0 0