原生js實現(xiàn)類似fullpage的單頁/全屏滾動
更新時間:2017年01月22日 11:59:58 作者:Jone_chen
這篇文章主要介紹了利用原生js實現(xiàn)類似fullpage的全屏滾動的實現(xiàn)方法,文中給出了完整的實例代碼,相信對大家的理解和學習具有一定的參考價值,需要的朋友們可以參考借鑒,下面來一起看看吧。
前言
單頁/全屏滾動頁面越來越常見了,它多用于產品介紹、招聘等內容較少的簡單頁面。針對這種效果也出現(xiàn)了不少 jQuery 插件,本文實現(xiàn)的效果類似于fullpage的單屏滾動,使用原生JS實現(xiàn),不依賴任何js庫;
css代碼:
html,body {height:100%;} body {margin:0px;} div {height:100%;}
html代碼:
<div style="background:#FEE;"></div> <div style="background:#EFE;"></div> <div style="background:#EEF;"></div> <div style="background:red;"></div>
js代碼:
document.addEventListener("DOMContentLoaded", function() { var body = document.body, html = document.documentElement; var itv, height = document.body.offsetHeight; var page = scrollTop() / height | 0; //窗口大小改變事件 addEventListener("resize", onresize, false); onresize(); //滾輪事件 document.body.addEventListener( "onwheel" in document ? "wheel" : "mousewheel", function(e) { clearTimeout(itv); itv = setTimeout(function() { var delta = e.wheelDelta / 120 || -e.deltaY / 3; page -= delta; var max = (document.body.scrollHeight / height | 0) - 1; if (page < 0) return page = 0; if (page > max) return page = max; move(); }, 100); e.preventDefault(); } ); //平滑滾動 function move() { var value = height * page; var diff = scrollTop() - value; (function callee() { diff = diff / 1.2 | 0; scrollTop(value + diff); if (diff) itv = setTimeout(callee, 16); })(); }; //resize事件 function onresize() { height = body.offsetHeight; move(); }; //獲取或設置scrollTop function scrollTop(v) { if (v == null) return Math.max(body.scrollTop, html.scrollTop); else body.scrollTop = html.scrollTop = v; }; });
在線演示請點擊:這里
總結
以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作能帶來一定的幫助,如果有疑問大家可以留言交流。
相關文章
Java遍歷集合方法分析(實現(xiàn)原理、算法性能、適用場合)
這篇文章主要介紹了Java遍歷集合方法分析(實現(xiàn)原理、算法性能、適用場合)的相關資料,需要的朋友可以參考下2016-04-04JavaScript實現(xiàn)對下拉列表值進行排序的方法
這篇文章主要介紹了JavaScript實現(xiàn)對下拉列表值進行排序的方法,實例分析了javascript對下拉列表元素的遍歷與排序實現(xiàn)技巧,具有一定參考借鑒價值,需要的朋友可以參考下2015-07-07JS使用parseInt解析數(shù)字實現(xiàn)求和的方法
這篇文章主要介紹了JS使用parseInt解析數(shù)字實現(xiàn)求和的方法,涉及javascript表單元素值的獲取及parseInt解析轉換字符串為數(shù)字的技巧,具有一定參考借鑒價值,需要的朋友可以參考下2015-08-08分步解析JavaScript實現(xiàn)tab選項卡自動切換功能
這篇文章主要分步解析JavaScript實現(xiàn)tab選項卡自動切換功能代碼,具有一定的參考價值,感興趣的小伙伴們可以參考一下2016-01-01