成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

兩行 JS 代碼實(shí)現(xiàn)頁(yè)面橫向滾動(dòng)特效

開(kāi)發(fā) 前端
在前端這個(gè)無(wú)奇不有的世界里,有些網(wǎng)站不是正常垂直滾動(dòng)的,而是橫向滾動(dòng)的。

 在前端這個(gè)無(wú)奇不有的世界里,有些網(wǎng)站不是正常垂直滾動(dòng)的,而是橫向滾動(dòng)的。

那么在沒(méi)法把鼠標(biāo)滾輪橫過(guò)來(lái)的前提下(蘋(píng)果除外),能否實(shí)現(xiàn)網(wǎng)頁(yè)橫向滾動(dòng)呢?我們來(lái)寫(xiě)代碼試試。先看一下最終效果,這里我用鼠標(biāo)的滾輪垂直滾動(dòng),頁(yè)面是橫向滾動(dòng)的。

???

要實(shí)現(xiàn)這個(gè)功能,只需要一點(diǎn)點(diǎn)的 JS 代碼。

編寫(xiě) HTML 結(jié)構(gòu)

先看一下 HTML 結(jié)構(gòu),很簡(jiǎn)單,就是三個(gè)模擬全屏頁(yè)面的 div,class 都是 page,然后放在一個(gè) class 名為 container 的 div 容器中: 

<main>    <div class="container">      <div class="page">Page1</div>      <div class="page">Page2</div>      <div class="page">Page3</div>    </div>  </main> 

編寫(xiě) CSS 樣式

對(duì)于樣式,container 容器設(shè)置為 flex 布局,并且顯示橫向滾動(dòng)條: 

.container {    display: flex;    overflow-x: scroll;  } 

里面每一個(gè)頁(yè)面元素的寬高都設(shè)置為占滿(mǎn)瀏覽器可視區(qū)域的 100%,并且在 flex 布局中,不自動(dòng)收縮,再分別給他們?cè)O(shè)置不同的背景色,用于區(qū)分: 

.page {    width: 100vw;    height: 100vh;    flex-shrink: 0;  }  .page:nth-child(1) {    background: hsl(140deg, 50%, 50%);  }  .page:nth-child(2) {    background: hsl(210deg, 50%, 50%);  }  .page:nth-child(3) {    background: hsl(270deg, 50%, 50%);  } 

實(shí)現(xiàn)橫向滾動(dòng)

接下來(lái)我們使用 JS 實(shí)現(xiàn)橫向滾動(dòng),首先獲取 container 容器: 

let container = document.querySelector(".container"); 

給它添加一個(gè) “wheel” 事件,這個(gè)是監(jiān)聽(tīng)鼠標(biāo)滾輪的滾動(dòng),在滾動(dòng)時(shí),先阻止默認(rèn)的滾動(dòng)事件,然后讓容器水平橫向移動(dòng),這里利用到了 scrollLeft 屬性,讓容器的內(nèi)容向左移動(dòng),這里只需要加上滾輪垂直滾動(dòng)的距離差值就可以了,也就是 event 對(duì)象中的 deltaY 屬性: 

container.addEventListener("wheel", (event) => {    event.preventDefault();    container.scrollLeft += event.deltaY;  }); 

兼容性

wheel 事件的兼容性可以參考 caniuse 提供的數(shù)據(jù):

???

總結(jié)

這樣就實(shí)現(xiàn)橫向滾動(dòng)了,重點(diǎn)是利用了 “wheel” 事件監(jiān)聽(tīng)鼠標(biāo)滾輪滾動(dòng),然后獲取滾動(dòng)距離差值,把它加到可以滾動(dòng)的容器的 scrollLeft 屬性中,你學(xué)會(huì)了嗎?

源碼地址:??https://github.com/zxuqian/html-css-examples/tree/master/38-horizontal-scrolling??

原文地址:??https://zxuqian.cn/docs/videos/effects/js-horizontal-scroll-effect/?


責(zé)任編輯:龐桂玉 來(lái)源: Linux公社
相關(guān)推薦

2023-09-12 14:58:00

Redis

2013-01-05 17:45:11

Android開(kāi)發(fā)特效滾動(dòng)屏幕

2024-02-20 12:49:00

CSS函數(shù)前端

2011-09-02 10:03:40

jQuery滾動(dòng)圖片

2022-09-25 23:10:53

Python數(shù)據(jù)集機(jī)器學(xué)習(xí)

2023-10-12 10:11:19

2018-03-15 13:31:48

潤(rùn)乾LinuxGREP搜索

2021-07-15 10:33:38

代碼開(kāi)發(fā)編譯

2021-09-15 08:45:55

Python文本文件代碼

2011-09-08 15:06:33

HTML 5

2011-09-02 09:49:29

JQuery圖片滾動(dòng)

2021-01-15 05:36:48

MySQL錯(cuò)位數(shù)據(jù)庫(kù)

2025-03-06 08:00:00

庫(kù)存微服務(wù)架構(gòu)

2010-10-08 13:02:05

JS特效

2011-07-22 13:30:52

JavaScript

2020-04-02 15:39:51

代碼編譯器前端

2022-03-09 14:57:53

Numbapython

2022-09-14 15:17:26

ArkUI鴻蒙

2024-03-04 13:21:00

模型訓(xùn)練
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

主站蜘蛛池模板: 欧美日韩国产中文字幕 | 欧美激情亚洲激情 | 高清国产一区二区 | 91精品国产91久久久久游泳池 | 久草欧美 | 欧美激情一区二区 | 久久久久久电影 | 欧美精品在线一区二区三区 | 久久中文字幕一区 | 欧美国产日韩在线 | 一区二区三区视频播放 | 99热热热| 99久久久久国产精品免费 | 日韩av在线免费 | 日韩欧美视频 | 国产 日韩 欧美 在线 | 激情视频中文字幕 | 在线免费观看成人 | 欧美男男videos| 亚洲精品在线播放 | 51ⅴ精品国产91久久久久久 | 天天碰日日操 | 欧美日韩一区二区三区不卡视频 | 亚洲精品乱码久久久久久9色 | 欧美一区二区三区在线看 | 在线视频91 | av黄色国产| 黄色一级大片在线观看 | 另类视频在线 | 先锋影音资源网站 | 亚洲伦理自拍 | 欧美成人高清视频 | 中文字幕不卡一区 | 97伦理电影网 | 亚洲精品乱 | 一级黄在线观看 | 91在线免费观看网站 | 青青草一区二区 | 精品欧美乱码久久久久久 | 天天干视频 | 久热精品视频 |