第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定

用本地存儲(chǔ)實(shí)現(xiàn)翻頁的效果

標(biāo)簽:
Html/CSS JQuery JavaScript

需求是这样的
点击数字或者点击上一页、下一页等,翻页栏样式变化及从后台加载相应数据。

加入总共20页,只显示10个数字按钮,以及下一页,上一页等。
当从后台加载的页id>=6和<=16时,第六个数字按钮总是显示当前的加载的页,效果如下
图片描述

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>翻页</title>
    <script class="lazyload" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB/AAffA0nNPuCLAAAAAElFTkSuQmCC" data-original="http://cdn.staticfile.org/jquery/1.11.2/jquery.min.js"></script>
    <style type="text/css">
        *{
            margin: 0;
            padding: 0;
            box-sizing: border-box;
            font-family: "微软雅黑"
        }
        .page-turning-wrap{
            text-align: center;
        }
        .page-turning-wrap a{
            display: inline-block;
            height: 30px;
            line-height: 28px;
            background-color: #fff;
            border:1px solid #39b245;
            cursor: pointer;
            color: #39b245;
            font-size: 14px;
            margin-right: 6px;
            text-decoration: none;
        }
        .page-turning-wrap a:hover,.page-turning-index a.active{
            background-color: #39b245;
            color: #fff;
        }
        .page-turning-pre a,.page-turning-next a{
            width: 60px;
        }
        .page-turning-next a:last-child{
            margin-right: 0;
        }
        .page-turning-index a{
            width: 30px;
        }
    </style>
</body>
</head>
<body>
    <div class="page-turning-wrap">
        <span class="page-turning-pre">
            <a data-page-turning="first">首页</a>
            <a data-page-turning="pre">上一页</a>
        </span>
        <span class="page-turning-index">
            <a>1</a>
            <a>2</a>
            <a>3</a>
            <a>4</a>
            <a>5</a>
            <a>6</a>
            <a>7</a>
            <a>8</a>
            <a>9</a>
            <a>10</a>
        </span>
        <span class="page-turning-next">
            <a data-page-turning="next">下一页</a>
            <a data-page-turning="last">尾页</a>
        </span>
    </div>
    <script type="text/javascript">
        var firstPageId; // 第一个数字按钮
        var total = 20 + ""; // 总共多少页
        var showTotal = 10;  // 展示多少个数字按钮
        // jquery对象集合
        var jqueryMap = {
            pageIndex : $(".page-turning-index a")
        }
        // 模拟页面刷新
        $(".page-turning-wrap a").attr("href","");
        // 初始化
        pageTurning()

        // 事件 判断点击的是哪种类型的按钮,然后根据当前是第几页,把下一次该打开的页数存入浏览器
        $("[data-page-turning]").click(function(){
            // 根据data-page-turning获取点击的是哪种类型按钮
            var data_page_turning = $(this).attr("data-page-turning"); 
            // 存入浏览器下一次打开页数的localStorage 中的值,根据按钮不同,赋值方式不同
            var page_turning; 
            if ($(this).parent().hasClass("page-turning-index")) {
                page_turning = data_page_turning;
            }else{
                switch(data_page_turning)
                {
                case "first":
                  page_turning = "1";
                  break;
                case "pre":
                  if ($(".page-turning-wrap a.active").prev().length>0) {
                    page_turning = $(".page-turning-wrap a.active").prev().attr("data-page-turning")
                  }else{
                    alert("没有上一页")
                  }
                  break;
                case "last":
                  page_turning = total;
                  break;
                case "next":
                  if ($(".page-turning-wrap a.active").next().length>0) {
                    page_turning = $(".page-turning-wrap a.active").next().attr("data-page-turning")
                  }else{
                    alert("没有下一页")
                  }
                  break;
                default:
                  alert("存在未知错误")
                }
            }
            if (page_turning) {
                setLocalStorage("page_turning",page_turning)
            }

        })

        // 初始化函数
        function pageTurning(){
            if (!localStorage) {
                alert("请更换浏览器")
            }
            // 获取存储的页数
            var pageId = getLocalStorage("page_turning");
            // 示例,展示10个数字,如果pageId<=6 ,或者不存在(第一次打开)
            // 展示的第一个数字按钮为1
            // 这个if语句是为了实现一个效果,可运行代码查看家
            if (!pageId) {pageId=1;}
            if (!pageId  pageId<=showTotal/2 +1) {
                firstPageId = 1;
            // 示例:展示10个数字按钮,总共20页,pageId>14时,第一个数字按钮是1
            }else if (pageId>total-showTotal/2 -1) {
                firstPageId = total-showTotal +1;
            }
            // 示例:展示10个数字,总共20页,第一个数字是pageId-5
            else{
                firstPageId = pageId-showTotal/2;
            }

            // 根据firstPageId配置数字按钮的文本和属性
            jqueryMap["pageIndex"].each(function(index){
                $(this).text(parseInt(firstPageId)+index)
                $(this).attr("data-page-turning",$(this).text())
            })
            // 为pageId的数字按钮添加样式
            $('[data-page-turning="'+ pageId +'"]').addClass("active").siblings().removeClass("active");
            // 从后台加载pageId页
            alert("应该从后台加载第" + pageId +"页" )
        }
        // 设置本地存储的方法
        function setLocalStorage(key,value){
            return localStorage.setItem(key,value)
        }
        // 获取本地存储的方法
        function getLocalStorage(key){
            return localStorage.getItem(key)
        }
    </script>
</html>

上面的代码是模拟页面刷新的,如果用ajax的话,思路是一样的,存值取值。

點(diǎn)擊查看更多內(nèi)容
1人點(diǎn)贊

若覺得本文不錯(cuò),就分享一下吧!

評(píng)論

作者其他優(yōu)質(zhì)文章

正在加載中
感謝您的支持,我會(huì)繼續(xù)努力的~
掃碼打賞,你說多少就多少
贊賞金額會(huì)直接到老師賬戶
支付方式
打開微信掃一掃,即可進(jìn)行掃碼打賞哦
今天注冊(cè)有機(jī)會(huì)得

100積分直接送

付費(fèi)專欄免費(fèi)學(xué)

大額優(yōu)惠券免費(fèi)領(lǐng)

立即參與 放棄機(jī)會(huì)
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)

舉報(bào)

0/150
提交
取消