西西軟件園多重安全檢測(cè)下載網(wǎng)站、值得信賴的軟件下載站!
軟件
軟件
文章
搜索

首頁(yè)編程開發(fā)javascript|JQuery → 使用jQuery實(shí)現(xiàn)控制左右滾動(dòng)及自動(dòng)滾動(dòng)效果

使用jQuery實(shí)現(xiàn)控制左右滾動(dòng)及自動(dòng)滾動(dòng)效果

相關(guān)軟件相關(guān)文章發(fā)表評(píng)論 來(lái)源:本站整理時(shí)間:2011/1/29 21:25:41字體大。A-A+

作者:佚名點(diǎn)擊:615次評(píng)論:1次標(biāo)簽: jQuery

  • 類型:編程輔助大小:109KB語(yǔ)言:中文 評(píng)分:5.0
  • 標(biāo)簽:
立即下載
迷上jQuery,相對(duì)于原生JavaScript,它是如此的美妙.也因此,促使我更加的努力的研習(xí)原生JavaScript.
分享一個(gè)控制左右滾動(dòng)及自動(dòng)滾動(dòng)的樣例, 昨晚花了兩個(gè)多小時(shí), 忍受著悍蚊的叮咬, 汗水的侵襲, 一行行的敲出來(lái)的血汗代碼. 哈哈.
封裝了兩種模式: 點(diǎn)擊滾動(dòng)版本DEMO     自動(dòng)滾動(dòng)版本DEMO,源碼中有詳細(xì)注釋.
思路:
點(diǎn)擊滾動(dòng)模式下,是為點(diǎn)擊(向前/向后/數(shù)字)添加click事件,通過(guò)控制展示區(qū)塊left值實(shí)現(xiàn)切換.
1.向前(左):當(dāng)在第一個(gè)版面時(shí),滾動(dòng)到最后一個(gè)頁(yè)面,否則,累加left值,向前滾動(dòng);
2.向后(右):當(dāng)在最后一個(gè)版面時(shí),滾動(dòng)到第一個(gè)頁(yè)面,否則,累減left值,向后滾動(dòng);
3.數(shù)字點(diǎn)擊:利用index(…)獲取當(dāng)前點(diǎn)擊在數(shù)字列表中的索引值, 然后索引值為倍數(shù)為外圍寬度負(fù)值.即可達(dá)到切換.
核心代碼:

01 //***向前滾動(dòng)

02 $pre.click(function(){

03 if (!$showbox.is(':animated')) { //判斷展示區(qū)是否動(dòng)畫

04 if ($cur == 1) { //在第一個(gè)版面時(shí),再向前滾動(dòng)到最后一個(gè)版面

05 $showbox.animate({

06 left: '-=' + $w * ($pages - 1)

07 }, 500); //改變left值,切換顯示版面,500(ms)為滾動(dòng)時(shí)間,下同

08 $cur = $pages; //初始化版面為最后一個(gè)版面

09 }

10 else {

11 $showbox.animate({

12 left: '+=' + $w

13 }, 500); //改變left值,切換顯示版面

14 $cur--; //版面累減

15 }

16 $num.eq($cur - 1).addClass('numcur').siblings().removeClass('numcur'); //為對(duì)應(yīng)的版面數(shù)字加上高亮樣式,并移除同級(jí)元素的高亮樣式

17 }

18 });

19 //***向后滾動(dòng)

20 $next.click(function(){

21 if (!$showbox.is(':animated')) { //判斷展示區(qū)是否動(dòng)畫

22 if ($cur == $pages) { //在最后一個(gè)版面時(shí),再向后滾動(dòng)到第一個(gè)版面

23 $showbox.animate({

24 left: 0

25 }, 500); //改變left值,切換顯示版面,500(ms)為滾動(dòng)時(shí)間,下同

26 $cur = 1; //初始化版面為第一個(gè)版面

27 }

28 else {

29 $showbox.animate({

30 left: '-=' + $w

31 }, 500);//改變left值,切換顯示版面

32 $cur++; //版面數(shù)累加

33 }

34 $num.eq($cur - 1).addClass('numcur').siblings().removeClass('numcur'); //為對(duì)應(yīng)的版面數(shù)字加上高亮樣式,并移除同級(jí)元素的高亮樣式

35 }

36 });

37 //***數(shù)字點(diǎn)擊事件

38 $num.click(function(){

39 if (!$showbox.is(':animated')) { //判斷展示區(qū)是否動(dòng)畫

40 var $index = $num.index(this); //索引出當(dāng)前點(diǎn)擊在列表中的位置值

41 $showbox.animate({

42 left: '-' + ($w * $index)

43 }, 500); //改變left值,切換顯示版面,500(ms)為滾動(dòng)時(shí)間

44 $cur = $index + 1; //初始化版面值,這一句可避免當(dāng)滾動(dòng)到第三版時(shí),點(diǎn)擊向后按鈕,出面空白版.index()取值是從0開始的,故加1

45 $(this).addClass('numcur').siblings().removeClass('numcur'); //為當(dāng)前點(diǎn)擊加上高亮樣式,并移除同級(jí)元素的高亮樣式

46 }

47 });

自動(dòng)滾動(dòng)模式是基于點(diǎn)擊滾動(dòng)模式加強(qiáng)的,無(wú)非是添加了自動(dòng)滾動(dòng)事件,以及當(dāng)鼠標(biāo)劃上時(shí)清除動(dòng)畫事件.
這里要說(shuō)明一點(diǎn).DEMO演示中,為向前/向后/數(shù)字/區(qū)域都添加了當(dāng)鼠標(biāo)劃過(guò)時(shí)都添加了清除動(dòng)畫事件.但是,如果你的頁(yè)面中,這幾個(gè)需要添加清除動(dòng)畫事件的都在同一個(gè)區(qū)域內(nèi),完全可以用trigger(…)模擬實(shí)現(xiàn)自動(dòng)滾動(dòng).
還有一點(diǎn),自動(dòng)滾動(dòng)中是用setTimeout(“fun”,interval)實(shí)現(xiàn),而不用setInterval(“fun”,interval)實(shí)現(xiàn). 原因在于,setInterval是在間隔時(shí)間后重復(fù)執(zhí)行傳入的函數(shù),而setTimeout只在間隔時(shí)間后執(zhí)行一次函數(shù)傳入函數(shù),這樣即可避免第二次鼠標(biāo)劃入停止動(dòng)畫區(qū)域時(shí)不能清除動(dòng)畫.
核心代碼:

01 ......

02 //***調(diào)用自動(dòng)滾動(dòng)

03 autoSlide();

04 ......

05 //***停止?jié)L動(dòng)

06 clearFun($showbox);

07 clearFun($pre);

08 clearFun($next);

09 clearFun($num);

10 //***事件劃入時(shí)停止自動(dòng)滾動(dòng)

11 function clearFun(elem){

12 elem.hover(function(){

13 clearAuto();

14 }, function(){

15 autoSlide();

16 });

17 }

18 //***自動(dòng)滾動(dòng)

19 function autoSlide(){

20 $next.trigger('click');

21 $autoFun = setTimeout(autoSlide, 3000);//此處不可使用setInterval,setInterval是重復(fù)執(zhí)行傳入函數(shù),這會(huì)引起第二次劃入時(shí)停止失效

22 }

23 //***清除自動(dòng)滾動(dòng)

24 function clearAuto(){

25 clearTimeout($autoFun);

26 }

更詳細(xì)代碼分析,請(qǐng)查看源碼,寫有詳細(xì)的注釋.
    html編輯器
    (73)html編輯器
    我們做網(wǎng)頁(yè)的時(shí)候最難找的就是編輯器,網(wǎng)上找一個(gè)吧,要不是圖片上傳錯(cuò)誤,就是到處都是錯(cuò)誤,垃圾太多.大家都需要一個(gè)簡(jiǎn)單,速度快的.西西為您提供最好用的編輯器一站式下載編輯器定義編輯器指的是一類編輯制作工具,可自定義窗囗,編輯主題索引,可選擇添搜索頁(yè),無(wú)任何不自由。編輯器哪個(gè)好用小編個(gè)人比較喜歡使用和,這兩款編輯器軟件都有不錯(cuò)的表現(xiàn)。至于編輯器哪個(gè)好用,這就要根據(jù)你的個(gè)人需求去選擇對(duì)應(yīng)的編輯器啦...更多>>
    • UltraEdit-32中文版21.20.1001 中文

      06-29 / 19.5M

      推薦理由:ultraEdit 32 破解版 簡(jiǎn)體中文 內(nèi)有安裝說(shuō)明,完全免費(fèi),無(wú)試用期的。該軟件功能強(qiáng)大,能打開各種格式的文件
    • pyscripter x642.5.3 官方最新版

      11-10 / 4.7M

      推薦理由:python編輯器,代碼補(bǔ)全、參數(shù)提示補(bǔ)全工具,這個(gè)工具其實(shí)非常重要,可以大大提高開發(fā)效率,減少出錯(cuò)。很滿
    • 快手AAuto Studio10.152 綠色中文免

      02-20 / 8.5M

      推薦理由:快手aauto是由一鶴軟件耗時(shí)四年開發(fā)新一代編程語(yǔ)言。完美支持靜態(tài)類型、動(dòng)態(tài)類型,完美支持com、dllapi、re
    • ultraedit64位破解版v22.20.0.49 綠

      03-31 / 37.9M

      推薦理由:UltraEdit是最強(qiáng)大的一款超值文本編輯器!ultraedit64位破解版,適用于Windows64位系統(tǒng)使用,此版為綠色破解
    • Dreamweaver cs6中文版官方原版

      11-19 / 279.7M

      推薦理由:AdobeDreamweaverCS6是AdobeCreativeSuite6系列中的HTML編輯器和網(wǎng)頁(yè)設(shè)計(jì)軟件,是最優(yōu)秀的可視化網(wǎng)頁(yè)設(shè)計(jì)工
    • Adobe Dreamweaver CS5官方簡(jiǎn)體中文

      05-15 / 436.8M

      推薦理由:Adobe Dreamweaver CS5 軟件使設(shè)計(jì)人員和開發(fā)人員能充滿自信地構(gòu)建基于標(biāo)準(zhǔn)的網(wǎng)站。由于同新的 Adobe CS Li
    dreamweaver cs6
    (14)dreamweaver cs6
    新版本使用了自適應(yīng)網(wǎng)格版面創(chuàng)建頁(yè)面,在發(fā)布前使用多屏幕預(yù)覽審閱設(shè)計(jì),可大大提高工作效率。改善的性能,更高效地傳輸大型文件。實(shí)時(shí)視圖和多屏幕預(yù)覽面板可呈現(xiàn)代碼,更能夠檢查自己的工作。曾經(jīng)風(fēng)靡一時(shí)的網(wǎng)頁(yè)三劍客成員之一是目前應(yīng)用最廣的網(wǎng)頁(yè)制作軟件,原本是由公司所開發(fā)的著名網(wǎng)站開發(fā)工具,隨被收購(gòu)后,改名為。它是第一套針對(duì)專業(yè)網(wǎng)頁(yè)設(shè)計(jì)師特別發(fā)展的視覺化網(wǎng)頁(yè)開發(fā)工具,以及在之后推出的針對(duì)專業(yè)網(wǎng)頁(yè)圖像設(shè)計(jì)的,三者...更多>>
    • Dreamweaver cs6中文版官方原版

      11-19 / 279.7M

      推薦理由:AdobeDreamweaverCS6是AdobeCreativeSuite6系列中的HTML編輯器和網(wǎng)頁(yè)設(shè)計(jì)軟件,是最優(yōu)秀的可視化網(wǎng)頁(yè)設(shè)計(jì)工
    • Dreamweaver cc amtlib.dll補(bǔ)丁

      07-05 / 834KB

      推薦理由:Adobe Dreamweaver CC 13.0 build 6390多語(yǔ)言正式版的破解補(bǔ)丁,破解后程序不再提示剩余天數(shù)與激活注冊(cè)。關(guān)
    • Dreamweaver CS5 HTML 5 擴(kuò)展包

      06-22 / 5.7M

      推薦理由:安裝了該擴(kuò)展后再也不用擔(dān)心不記得難記的css3樣式代碼了! 剛裝 Dreamweaver CS5 的時(shí)候,發(fā)現(xiàn)新建文檔的時(shí)
    • Dreamweaver插件包西西整理

      01-08 / 2.7M

      推薦理由:西西小編整理的一些比較常用的Dreamweaver插件,希望能對(duì)大家有所幫助!persistent_layers 不管滾動(dòng)條如何拉
    • Adobe Dreamweaver CS4中文精簡(jiǎn)版

      04-11 / 84.5M

      推薦理由:使用業(yè)界領(lǐng)先的Web 創(chuàng)作工具之一構(gòu)建世界級(jí)的網(wǎng)站和應(yīng)用程序。Adobe® Dreamweaver® CS4 軟件是 W
    • Dreamweaver jQuery智能提示插件1.

      07-31 / 109KB

      推薦理由:1.2.0版本插件在1.0.0插件基礎(chǔ)上進(jìn)一步修改,版權(quán)信息僅保留致謝信息,刪除作者為了代碼整體提示美觀度,故

    相關(guān)評(píng)論

    閱讀本文后您有什么感想? 已有人給出評(píng)價(jià)!

    • 8 喜歡喜歡
    • 3 頂
    • 1 難過(guò)難過(guò)
    • 5 囧
    • 3 圍觀圍觀
    • 2 無(wú)聊無(wú)聊

    熱門評(píng)論

    最新評(píng)論

    發(fā)表評(píng)論 查看所有評(píng)論(1)

    昵稱:
    表情: 高興 可 汗 我不要 害羞 好 下下下 送花 屎 親親
    字?jǐn)?shù): 0/500 (您的評(píng)論需要經(jīng)過(guò)審核才能顯示)