国产亚洲精品福利在线无卡一,国产精久久一区二区三区,亚洲精品无码国模,精品久久久久久无码专区不卡

當(dāng)前位置: 首頁 > news >正文

網(wǎng)站打開速度很慢濟(jì)南疫情最新情況

網(wǎng)站打開速度很慢,濟(jì)南疫情最新情況,網(wǎng)站圖標(biāo)生成,網(wǎng)站開發(fā)實習(xí)個人小結(jié)最近在做一個聊天室的小案例,遇到了一個關(guān)于滾動條的問題,需要對獲取的信息即時滾動以保證用戶總能看到最新消息。聊天程序是基于 ajax 實現(xiàn)的,沒有使用框架,消息容器是一個 div,查閱大量資料后寫下這篇文章&#xff0…

最近在做一個聊天室的小案例,遇到了一個關(guān)于滾動條的問題,需要對獲取的信息即時滾動以保證用戶總能看到最新消息。聊天程序是基于 ajax 實現(xiàn)的,沒有使用框架,消息容器是一個 div,查閱大量資料后寫下這篇文章,以作記錄!

文章目錄

  • 1. div 添加滾動條
  • 2. 滾動條綁定事件
      • (1. 基本屬性及方法
      • (2. 綁定滾動事件
      • (3. 判斷向上 & 向下滾動
      • (4. 判斷滾動條移動至最底部
  • 3. 滾動條樣式
      • 樣式 demo
  • 4. 小案例

1. div 添加滾動條

  overflow:scroll;

只要要設(shè)置這么一行 css 語句,我們就為 div 標(biāo)簽添加了一個滾動條,但這是一個雙向滾動條,也就是說會在 div標(biāo)簽的上下方向和左右方向都添加一個滾動條,一般我們只需要在一個方向添加滾動條即可,因此我們可以使用overflow-x 或者 overflow-y 來設(shè)置單方向滾動條!
在這里插入圖片描述

2. 滾動條綁定事件

(1. 基本屬性及方法

先介紹一些 js 中和 scroll 滾動相關(guān)的屬性及方法,了解這些方法可以更方便的幫助我們理解下邊的幾個事件。

屬性解釋
element.scrollHeight返回元素整個滾動區(qū)域的高度
element.scrollWidth返回元素整個滾動區(qū)域的寬度
element.scrollLeft返回水平滾動條滾動的距離
element.scrollTop返回垂直滾動條滾動的距離
element.clientHeight返回元素的可見高度
element.clientWidth0返回元素的可見寬度
方法解釋
scrollBy(x,y)在滾動條原位置的基礎(chǔ)上向右或者向下滾動的像素數(shù)
scrollTo(x,y)將滾動條直接向右或者向下滾動的像素數(shù)
element.scrollTop = 0  `垂直滾動條在最頂端`element.scrollLeft = 0  `水平滾動條在最左端`element.scrollTop + element.clientHeight >= element.scrollHeight `垂直滾動條在最底端`element.scrollLeft + element.clientWidth >= element.scrollWidth `水平滾動條在最右端`

(2. 綁定滾動事件

div 可以直接使用 onscroll 屬性來綁定滾動事件,如下所示,當(dāng)我們在界面進(jìn)行滾動時,控制臺就會打印信息了!

<!-- div 使用 onscroll 來為滾動條綁定綁定事件 --><div style="width:200px;height:150px;overflow-y:scroll;" class="div_soroll" onscroll="scroll_move()"><br><br><br><br><br><br><br><br><br></div><script type="text/javascript">var i = 0;function scroll_move(){i += 1;console.log("滾動了"+i+"次")}</script>

(3. 判斷向上 & 向下滾動

為 div 標(biāo)簽添加自定義屬性 scrollTop 用來保存當(dāng)前滾動條位置,在滾動事件中獲取滾動之后的位置,判斷兩個位置的大小即可得出滾動條 向上 或者 向下 移動,最后將滾動之后的位置賦值給 自定義屬性 scrollTop。

<div style="width:200px;height:150px;border:1px solid;overflow-y:scroll;" class="div_soroll" onscroll="scroll_move(this)" scrollTop="0"><br><br><br><br><br><br><br><br><br></div><script type="text/javascript">function scroll_move(div){last_scrollTop = div.getAttribute("scrollTop");now_scrollTop = div.scrollTop;if (last_scrollTop<now_scrollTop){console.log("向下移動了");}else if(last_scrollTop>now_scrollTop){console.log("向上移動了");}div.setAttribute("scrollTop",now_scrollTop)}</script>

(4. 判斷滾動條移動至最底部

通過上述 element.scrollTop + element.clientHeight >= element.scrollHeight 該公式即可判斷!

3. 滾動條樣式

在 css3 中,我們可以通過 ::-webkit-scrollbar 偽類選擇器來設(shè)置滾動條的樣式

::-webkit-scrollbar 僅僅在支持 WebKit 的瀏覽器生效 ( 例如, 谷歌Chrome, 蘋果Safari )

樣式 demo

在這里插入圖片描述
詳細(xì)內(nèi)容請參考:

  • css scrollbar 樣式設(shè)置
  • MDN web docs

4. 小案例

效果展示

<!DOCTYPE html>
<html><head><meta charset="utf-8"><title></title><style>#the_div {border: 1px solid black;width: 200px;height: 100px;overflow-y: scroll;}#info{position:absolute;top: 90px;left: 8px;width: 200px;height: 20px;background-color: #ffc34c;color: white;text-align: center;line-height: 20px;font-size: 12px;opacity:0.8;visibility: hidden;}</style></head><body><div id="the_div" onscroll="scroll_move(this)" scrollTop="0"></div><div id="info" onclick="go_bottom()">∨ 有更多新的消息</div><script>var scroll_FLAG = truefunction scroll_move(div) {div_scrollTop = div.getAttribute("scrollTop");if (div.offsetHeight + div.scrollTop >= div.scrollHeight) {scroll_FLAG = true;document.getElementById("info").style.visibility = "hidden"return}else{scroll_FLAG = false;document.getElementById("info").style.visibility = "visible"}}function go_bottom() {var div = document.getElementById("the_div");div.scrollTo(0, div.scrollHeight);}function add_msg(){var div = document.getElementById("the_div");div.innerText += "123\n"if(scroll_FLAG){div.scrollTo(0,div.scrollHeight)}}setInterval(add_msg,1000)</script></body>
</html>
http://aloenet.com.cn/news/39476.html

相關(guān)文章:

  • 深圳建筑業(yè)協(xié)會石家莊seo顧問
  • 博野網(wǎng)站建設(shè)江西省水文監(jiān)測中心
  • linux怎么做網(wǎng)站怎么提高關(guān)鍵詞搜索權(quán)重
  • 網(wǎng)站正在開發(fā)中鄭州谷歌優(yōu)化外包
  • wordpress下拉篩選重慶做seo外包的
  • wordpress科技主題網(wǎng)站排名優(yōu)化公司
  • seo優(yōu)化排名推廣排名優(yōu)化系統(tǒng)
  • 網(wǎng)頁設(shè)計模板網(wǎng)站推薦外包網(wǎng)絡(luò)推廣公司
  • 上海網(wǎng)站開發(fā)公司外包自學(xué)seo能找到工作嗎
  • asp網(wǎng)站制作設(shè)計教程佛山網(wǎng)站優(yōu)化軟件
  • 海南省住房和城鄉(xiāng)建設(shè)廳網(wǎng)站首頁排名前50名免費(fèi)的網(wǎng)站
  • 網(wǎng)站建設(shè) 云計算搜索數(shù)據(jù)
  • wordpress企業(yè)網(wǎng)站制作鄭州seo優(yōu)化
  • 這幾年做啥網(wǎng)站致富推廣鏈接讓別人點擊
  • 門戶網(wǎng)站建設(shè)如何入賬銅陵seo
  • 美國十大購物網(wǎng)站免費(fèi)注冊個人網(wǎng)站不花錢
  • 長安東莞網(wǎng)站設(shè)計百度掃一掃識別圖片在線
  • logo設(shè)計培訓(xùn)寧波seo網(wǎng)絡(luò)推廣優(yōu)化價格
  • 網(wǎng)站網(wǎng)頁設(shè)計中怎么添加頁碼信息谷歌海外推廣
  • 網(wǎng)站方案策劃5118營銷大數(shù)據(jù)
  • wordpress屏蔽垃圾國外ip領(lǐng)碩網(wǎng)站seo優(yōu)化
  • 網(wǎng)站建設(shè)服務(wù)好公司排名google瀏覽器官網(wǎng)下載
  • 做公司網(wǎng)站計入什么會計科目seo用什么論壇引流
  • 網(wǎng)站實現(xiàn)seo基礎(chǔ)知識考試
  • 怎樣優(yōu)化網(wǎng)站排名靠前泰州百度關(guān)鍵詞優(yōu)化
  • 重慶市工程建設(shè)信息網(wǎng)2021優(yōu)化關(guān)鍵詞的公司
  • 哈爾濱地鐵愛建站seo查詢網(wǎng)站是什么
  • 企業(yè)網(wǎng)站優(yōu)化找哪家搜索排行
  • wordpress本地建站成人零基礎(chǔ)學(xué)電腦培訓(xùn)班
  • 瀚欽科技網(wǎng)站建設(shè)谷歌搜索引擎免費(fèi)