摘要:?jiǎn)螚l消息的滾動(dòng)顯示只是把相框的高度設(shè)成單條消息的高度了,這樣每拖動(dòng)一條消息的高度,我們就只看到一條消息了。滾動(dòng)的其他原理就不提了,這里只說說我對(duì)到底是如何實(shí)現(xiàn)滾動(dòng)的理解。
???????作為前端的初學(xué)者我前天學(xué)到了如何用JavaScript中的scrollTop來實(shí)現(xiàn)消息滾動(dòng)效果。消息的向上滾動(dòng)實(shí)際上可以看做是我們把相框里面的照片給向上拖動(dòng),我們能看到的消息就只有相框里面的部分。單條消息的滾動(dòng)顯示只是把相框的高度設(shè)成單條消息的高度了,這樣每拖動(dòng)一條消息的高度,我們就只看到一條消息了。滾動(dòng)的其他原理就不提了,這里只說說我對(duì)scrollTop到底是如何實(shí)現(xiàn)滾動(dòng)的理解。
???????下面先貼上代碼:
???????這里的area就是我前面說到的“相框”,con1和con2就是嵌在里面的“照片”。注意:調(diào)用scrollTop的是area,因?yàn)槲覀円獎(jiǎng)拥臇|西是“相框”里面的內(nèi)容。這段代碼里面最重要的就是理解它到底是怎么實(shí)現(xiàn)循環(huán)滾動(dòng)的。其中的關(guān)鍵就是復(fù)制語句和置零語,下面上圖:
圖1(ps:黑色框?yàn)閍rea,紅色框?yàn)閏on1)就是“相框”內(nèi)的內(nèi)容向上滾動(dòng)到底就停止?jié)L動(dòng)了,即使繼續(xù)增加area.scrollTop它也不會(huì)動(dòng),那我們就會(huì)想讓它回到初始位置再重新向上滾動(dòng)。就是變成下面這樣:
圖2就是我們消息滾動(dòng)的初始狀態(tài),但是如果直接從圖1跳到圖2,我們的消息滾動(dòng)就會(huì)變得不連貫,看著不舒服。怎么解決這個(gè)問題?那就用到了復(fù)制語句。
???????復(fù)制的內(nèi)容con2和原內(nèi)容con1一樣,只是位于con1之后,關(guān)系如下圖:
(ps:藍(lán)色框?yàn)閺?fù)制的con2)復(fù)制內(nèi)容有什么用?接著往下看:
這一刻就是關(guān)鍵時(shí)刻,這個(gè)時(shí)候我們解決了圖1中出現(xiàn)的尷尬局面,紅色框可以繼續(xù)向上滾動(dòng),因?yàn)榭騼?nèi)的內(nèi)容還沒到底,而此時(shí)內(nèi)容已經(jīng)開始循環(huán)了,因?yàn)樗{(lán)色框的內(nèi)容和紅色框的內(nèi)容一樣。那這個(gè)時(shí)候我們?cè)侔鸭t色框拿回到初始位置即把scrollTop置零,變回圖3的狀態(tài)(因?yàn)榧t色框和藍(lán)色框都是黑框的內(nèi)容,所以如果改變scrollTop的值,他們的位置會(huì)一起變化)。因?yàn)榧t色框和藍(lán)色框頂部的內(nèi)容一樣,即使回到初始狀態(tài)你也看不出來中間變化的過程。
(ps:如果有不明白具體是怎么實(shí)現(xiàn)的請(qǐng)看教程,信息滾動(dòng)效果制作!)
???????第一次寫這個(gè),如有不足請(qǐng)多指教!謝謝!
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://m.specialneedsforspecialkids.com/yun/78878.html
摘要:接下就說下我對(duì)滾動(dòng)穿透問題解決方案探索的過程,希望對(duì)大家有點(diǎn)啟發(fā)。心想來了突然意識(shí)到寫彈窗的時(shí)候忘記處理滾動(dòng)穿透的問題了。下期預(yù)告前端詞典繼承必懂知識(shí)點(diǎn)傳送門前端詞典代理的概念及其應(yīng)用前端詞典滾動(dòng)穿透問題的解決方案 背景 產(chǎn)品有三寶,彈窗,浮層加引導(dǎo); 設(shè)計(jì)有三寶,透明,陰影加圓角; 運(yùn)營(yíng)有三寶,短信,推送加紅包; 程序員有一寶,這個(gè)做不了。 隨著移動(dòng)端市場(chǎng)的份額越大,需求就越多...
摘要:接下就說下我對(duì)滾動(dòng)穿透問題解決方案探索的過程,希望對(duì)大家有點(diǎn)啟發(fā)。心想來了突然意識(shí)到寫彈窗的時(shí)候忘記處理滾動(dòng)穿透的問題了。下期預(yù)告前端詞典繼承必懂知識(shí)點(diǎn)傳送門前端詞典代理的概念及其應(yīng)用前端詞典滾動(dòng)穿透問題的解決方案 背景 產(chǎn)品有三寶,彈窗,浮層加引導(dǎo); 設(shè)計(jì)有三寶,透明,陰影加圓角; 運(yùn)營(yíng)有三寶,短信,推送加紅包; 程序員有一寶,這個(gè)做不了。 隨著移動(dòng)端市場(chǎng)的份額越大,需求就越多...
摘要:使用具有回彈效果的滾動(dòng)當(dāng)手指從觸摸屏上移開,內(nèi)容會(huì)繼續(xù)保持一段時(shí)間的滾動(dòng)效果。繼續(xù)滾動(dòng)的速度和持續(xù)的時(shí)間和滾動(dòng)手勢(shì)的強(qiáng)烈程度成正比。 最近做了一個(gè)語音直播聊天的項(xiàng)目,有一個(gè)功能是當(dāng)沒有直播時(shí),進(jìn)入房間可以查看歷史消息,滑動(dòng)到頂部加載之前的歷史消息,我用jquery scroll事件,來判斷是否滾動(dòng)到頂部,問題來了: 首先觸發(fā)請(qǐng)求事件之后,prepend插入到當(dāng)前列表之前,而prepen...
摘要:使用具有回彈效果的滾動(dòng)當(dāng)手指從觸摸屏上移開,內(nèi)容會(huì)繼續(xù)保持一段時(shí)間的滾動(dòng)效果。繼續(xù)滾動(dòng)的速度和持續(xù)的時(shí)間和滾動(dòng)手勢(shì)的強(qiáng)烈程度成正比。 最近做了一個(gè)語音直播聊天的項(xiàng)目,有一個(gè)功能是當(dāng)沒有直播時(shí),進(jìn)入房間可以查看歷史消息,滑動(dòng)到頂部加載之前的歷史消息,我用jquery scroll事件,來判斷是否滾動(dòng)到頂部,問題來了: 首先觸發(fā)請(qǐng)求事件之后,prepend插入到當(dāng)前列表之前,而prepen...
摘要:使用具有回彈效果的滾動(dòng)當(dāng)手指從觸摸屏上移開,內(nèi)容會(huì)繼續(xù)保持一段時(shí)間的滾動(dòng)效果。繼續(xù)滾動(dòng)的速度和持續(xù)的時(shí)間和滾動(dòng)手勢(shì)的強(qiáng)烈程度成正比。 最近做了一個(gè)語音直播聊天的項(xiàng)目,有一個(gè)功能是當(dāng)沒有直播時(shí),進(jìn)入房間可以查看歷史消息,滑動(dòng)到頂部加載之前的歷史消息,我用jquery scroll事件,來判斷是否滾動(dòng)到頂部,問題來了: 首先觸發(fā)請(qǐng)求事件之后,prepend插入到當(dāng)前列表之前,而prepen...
閱讀 3604·2023-04-26 02:24
閱讀 939·2023-04-25 14:47
閱讀 2511·2021-11-24 11:16
閱讀 1726·2021-11-24 09:38
閱讀 1578·2021-11-18 10:07
閱讀 2069·2021-09-22 15:49
閱讀 1596·2019-08-30 15:55
閱讀 885·2019-08-26 13:38