日本搞逼视频_黄色一级片免费在线观看_色99久久_性明星video另类hd_欧美77_综合在线视频

國(guó)內(nèi)最全I(xiàn)T社區(qū)平臺(tái) 聯(lián)系我們 | 收藏本站
阿里云優(yōu)惠2
您當(dāng)前位置:首頁(yè) > web前端 > htmlcss > 【JavaScript】利用文件碎片DocumentFragment改進(jìn)兼容IE6可調(diào)可控的圖片滑塊

【JavaScript】利用文件碎片DocumentFragment改進(jìn)兼容IE6可調(diào)可控的圖片滑塊

來(lái)源:程序員人生   發(fā)布時(shí)間:2015-04-07 08:30:35 閱讀次數(shù):2760次

上次在《【JavaScript】兼容IE6可調(diào)可控的圖片滑塊》(點(diǎn)擊打開(kāi)鏈接)的算法寫(xiě)得很不好,如果你要做N個(gè)圖片的圖片滑塊,每次顯示X張圖片,則要1次性地多加載X⑴張圖片,還要用1種顯示框移動(dòng)的方法去實(shí)現(xiàn)。更可怕的是,還要天經(jīng)地義地認(rèn)為就是這樣的。雖然這個(gè)背背常人思惟方式在網(wǎng)上廣泛流傳,而且好像還是公式1樣,就只有1種實(shí)現(xiàn)方法,其實(shí)不是的,明顯可以利用文件碎片DocumentFragment去實(shí)現(xiàn)圖片滑塊,如果你要N個(gè)圖片的圖片滑塊,就加載N個(gè)圖片,這才是正常的。關(guān)鍵利用文件碎片,實(shí)現(xiàn)200000張圖片的圖片滑塊也是沒(méi)問(wèn)題的。前文寫(xiě)的方法就捉襟見(jiàn)肘了。


1、基本目標(biāo)

還是與上次1模1樣的功能,但是實(shí)現(xiàn)方式與上次不同,具體請(qǐng)比對(duì)兩篇文章瀏覽



2、基本思想

上次要加載N張圖片,利用顯示滑塊去實(shí)現(xiàn),但是這次再利用以下的方式:


就是我在上文中認(rèn)為打死也不可能的方式,把4個(gè)圖片滑塊看作是數(shù)組,滑塊向左移則把數(shù)組第1個(gè)元素移到末尾,滑塊向右移則把數(shù)組最后1個(gè)元素移到頭部。


3、制作進(jìn)程

1、HTML布局還是上文的布局,圖片就是那幾張從winxp系統(tǒng)拔來(lái)的可憐圖片,1字沒(méi)改,具體以下,不再贅述。

<!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"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf⑻" /> <title>picmarquee</title> </head> <body> <div>sssssss</div> <div style="float:left;"><button onclick="pic_marquee_move(0)"><</button></div> <div id="picMarquee" style="float:left;"> <div style="padding-left:10px; float:left; display:block;"><a href="imgs/Ascent.jpg" target="_new"><img src="imgs/Ascent.jpg" width="50px" border="0" /></a></div> <div style="padding-left:10px; float:left; display:block;"><a href="imgs/Autumn.jpg" target="_new"><img src="imgs/Autumn.jpg" width="50px" border="0" /></a></div> <div style="padding-left:10px; float:left; display:block;"><a href="imgs/Azul.jpg" target="_new"><img src="imgs/Azul.jpg" width="50px" border="0" /></a></div> <div style="padding-left:10px; float:left; display:block;"><a href="imgs/Crystal.jpg" target="_new"><img src="imgs/Crystal.jpg" width="50px" border="0" /></a></div> </div> <div style="float:left; padding-left:10px;"><button onclick="pic_marquee_move(1)">></button></div> <div style="clear:both"></div> <div>sssssss</div> </body> </html>
2、以后的javascript實(shí)現(xiàn)部份是實(shí)現(xiàn)的重點(diǎn),這里靈活使用了《【JavaScript】利用getElementsByTagName與getElementsByName改進(jìn)原生態(tài)兼容IE6標(biāo)簽頁(yè)》(點(diǎn)擊打開(kāi)鏈接)成組取節(jié)點(diǎn)的方式與javascript對(duì)數(shù)組Array的操作函數(shù)unshift(),shift(),pop(),push(),文件碎片就是1個(gè)在內(nèi)存的節(jié)點(diǎn),與操作平時(shí)節(jié)點(diǎn)《【JavaScript】網(wǎng)頁(yè)節(jié)點(diǎn)的增刪改查》(點(diǎn)擊打開(kāi)鏈接)沒(méi)有任何區(qū)分,具體以下:

<script> //網(wǎng)頁(yè)加載就要調(diào)用這個(gè)函數(shù)了,參數(shù)1代表向右轉(zhuǎn)動(dòng),注意HTML的按鈕調(diào)用的函數(shù)你就知道了 pic_marquee_move(1); //每2S向右變換1次 setInterval("pic_marquee_move(1)",2000); function pic_marquee_move(leftOrRight){ //獲得picMarquee下的所有div節(jié)點(diǎn),構(gòu)成1個(gè)數(shù)組 var divArr=document.getElementById("picMarquee").getElementsByTagName("div"); //只是這樣的1個(gè)“援用數(shù)組”還不能直接操作,必須新建1個(gè)真正數(shù)組把這里面的所有存進(jìn)去 var tempSoftArr=new Array(); for(var i=0;i<divArr.length;i++){ tempSoftArr[i]=divArr[i]; } //如果向左移 if(leftOrRight==0){ //那末把刪除數(shù)組第1個(gè)元素,并把這個(gè)元素通過(guò)變量存起來(lái) var firstPic=tempSoftArr.shift(); //以后把這個(gè)元素放到這個(gè)數(shù)組的最后1個(gè)位置,也相當(dāng)于插入到數(shù)組 tempSoftArr[tempSoftArr.length]=firstPic; } else{ //如果向右移,把最后1個(gè)元素放到這個(gè)數(shù)組的頭部 tempSoftArr.unshift(tempSoftArr.pop()); } //新建1個(gè)文件碎片,文件碎片就是1個(gè)暫存夾,你先把這個(gè)節(jié)點(diǎn)弄好再放到真實(shí)的網(wǎng)頁(yè)里面去,不用弄1個(gè)節(jié)點(diǎn)就刷新1次網(wǎng)頁(yè),卡爆 var frag=document.createDocumentFragment(); for(var i=0;i<tempSoftArr.length;i++){ frag.appendChild(tempSoftArr[i]); } //文件碎片是替換插入方式,原來(lái)id為picMarquee節(jié)點(diǎn)旗下的東西會(huì)被文件碎片節(jié)點(diǎn)替換 document.getElementById("picMarquee").appendChild(frag); } </script>

至此,全部畫(huà)圖滑塊做完。

生活不易,碼農(nóng)辛苦
如果您覺(jué)得本網(wǎng)站對(duì)您的學(xué)習(xí)有所幫助,可以手機(jī)掃描二維碼進(jìn)行捐贈(zèng)
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關(guān)閉
程序員人生
主站蜘蛛池模板: 九九国产 | 亚洲免费在线观看 | 日韩欧乱色一区二区三区在线 | 久久久久久久女女女又又 | 国产精品视频专区 | 亚洲第一成人久久网站 | 欧美激情视频一区二区三区在线播放 | 99国内精品 | 精品国产鲁一鲁一区二区张丽 | 国产高清一区二区三区 | 一本色道精品久久一区二区三区 | 99久久国产视频 | 国产在线视频一区二区 | 国产一区二区三区影视 | 嫩草影院一二三 | 中国黄色片网站 | 亚洲一区二区中文字幕 | 国产一区久久久 | 成年女人免费又黄又爽视频 | 久久精品成人欧美大片 | 99精品99 | 人人澡视频 | 日韩专区欧美专区 | 国产精品成人久久久久 | 国产精品高潮在线观看 | 亚洲精品久久久久久一区二区 | 欧美激情网站 | 天堂蜜桃一区二区三区 | 亚洲国产成人精品女人久久久 | 国产精品电影一区 | 日本三级网址 | 亚洲 欧美 国产 制服 动漫 | 久久国产精品区 | 久久久69| 无码日韩精品一区二区免费 | 欧美综合在线观看 | 国产一区中文字幕 | 在线免费黄色小视频 | 国产视频在线播放 | www伊人 | 黄色片网址 |