2018-12-10 《滑動鼠標滾輪加載》及《滾動條美化》

一個index.html頁面,一個scroll.js即可實現(xiàn)簡單的功能

index.html頁面代碼:

<!DOCTYPE html>

<html>

<head lang="en">

? ? <meta charset="UTF-8">

? ? <title>滾動條測試</title>


? ? <style>

? ? ? ? .parent_div {

? ? ? ? ? ? width: auto;

? ? ? ? ? ? height: auto

? ? ? ? }

? ? </style>

</head>

<body? id="myScrollspy" >

<div class="parent_div">

? ? <ul id="my_list">

? ? ? ? <li>滑動鼠標滾輪列出所有id</li>

? ? </ul>

</div>

<script src="http://libs.baidu.com/jquery/2.1.1/jquery.min.js"></script>

<script src="scroll.js"></script>

<script src="jquery.nicescroll.js"></script>

</body>

</html>

scroll.js代碼如下:


(function ($) {

? ? var pos = 0;

? ? var LIST_ITEM_SIZE = 56;

? ? //滾動條距底部的距離

? ? var BOTTOM_OFFSET = 0;


? ? var page = 1

? ? var total = 10

? ? var display = 0

? ? createListItems();

? ? $(document).ready(function () {

? ? /* 美化滾動條 */

? ? ? ? $('body').niceScroll({

? ? ? ? cursorcolor: '#6E6E7D', ////#6E6E7D 光標顏色

? ? ? ? touchbehavior: false, //使光標拖動滾動像在臺式電腦觸摸設(shè)備

? ? ? ? cursoropacitymin: 0,

? ? ? ? cursoropacitymax: 1, //改變不透明度非常光標處于活動狀態(tài)(scrollabar“可見”狀態(tài)),范圍從1到0

? ? ? ? cursorwidth: '5px', ////像素光標的寬度

? ? ? ? cursorborder: '1px solid #424242', // 游標邊框css定義

? ? ? ? cursorborderradius: '5px', //以像素為光標邊界半徑

? ? ? ? autohidemode: true //是否隱藏滾動條

? ? })

? ? ? ? // 實現(xiàn)滾動加載

? ? ? ? $(window).scroll(function () {

? ? ? ? ? ? var $currentWindow = $(window);

? ? ? ? ? ? //當前窗口的高度

? ? ? ? ? ? var windowHeight = $currentWindow.height();

? ? ? ? ? ? console.log("current widow height is " + windowHeight);

? ? ? ? ? ? //當前滾動條從上往下滾動的距離

? ? ? ? ? ? var scrollTop = $currentWindow.scrollTop();

? ? ? ? ? ? console.log("current scrollOffset is " + scrollTop);

? ? ? ? ? ? //當前文檔的高度

? ? ? ? ? ? var docHeight = $(document).height();

? ? ? ? ? ? console.log("current docHeight is " + docHeight);

? ? ? ? ? ? //當 滾動條距底部的距離 + 滾動條滾動的距離 >= 文檔的高度 - 窗口的高度

? ? ? ? ? ? //換句話說:(滾動條滾動的距離 + 窗口的高度 = 文檔的高度)? 這個是基本的公式

? ? ? ? ? ? if ((BOTTOM_OFFSET + scrollTop) >= docHeight - windowHeight) {

? ? ? ? ? ? ? ? createListItems();

? ? ? ? ? ? }

? ? ? ? });

? ? });

? ? function createListItems() {

? ? ? ? var mydocument = document;

? ? ? ? var mylist = mydocument.getElementById("my_list");

? ? ? ? var docFragments = mydocument.createDocumentFragment();

? ? ? ? var result =getPageInfo({type:'emergenciesList',page:page,size:50},function(data){

? ? ? ? display += 50

? ? ? ? console.log(display)

? ? ? ? if(data.success && data.result){

? ? ? ? total = data.result.total

? ? ? ? page +=1

? ? ? ? var datas = data.result.data

? ? ? ? for (var i = datas.length - 1; i >= 0; i--) {

? ? ? ? var liItem = mydocument.createElement("li");

? ? ? ? ? ? liItem.innerHTML = "id為" + datas[i].id;

? ? ? ? ? ? docFragments.appendChild(liItem);

? ? ? ? };

? ? ? ? } else {

for (var i = pos; i < pos + LIST_ITEM_SIZE; ++i) {

? ? ? ? ? ? var liItem = mydocument.createElement("li");

? ? ? ? ? ? liItem.innerHTML = "id為 " + i;

? ? ? ? ? ? docFragments.appendChild(liItem);

? ? ? ? }

? ? ? ? pos += LIST_ITEM_SIZE;

? ? ? ? }

? ? ? ? mylist.appendChild(docFragments);

? ? })

? ? }

? ? /*

? ? * 異步加載調(diào)用后臺

? ? */

? ? function getPageInfo(data,callbackfun){

? ? try {

? ? $.ajax({

? ? ? type: 'post',

? ? ? url: 'http://localhost:8008/api/data/getPage' + '?temp=' + Math.random(),

? ? ? async: true,

? ? ? cache: false,

? ? ? contentType: 'application/json',

? ? ? data: typeof data === 'string' ? data : JSON.stringify(data),

? ? ? dataType: 'JSON',

? ? ? success: function (msg) {

? ? ? ? callbackfun(msg)

? ? ? },

? ? ? error: function (msg) {

? ? ? ? callbackfun({success: false, msg: '錯誤!'})

? ? ? }

? ? })

? ? }catch (e) {

? console.log('錯誤提示', e.message)

? callbackfun({success: false, msg: '錯誤!'})

}

? ? }

})(jQuery);

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容