JS案例-JS特效第三天

從今天起開始筆記以天來計(jì)算,今天是學(xué)習(xí)JS特效第三天,以天來記錄也比較整齊。

這幾個(gè)案例都是環(huán)環(huán)相扣,前面的不會(huì),后面的就不用說啦。前面一通,后面你懂得。

第一個(gè)案例:淘寶樓層跳躍

樓層跳躍京東和淘寶都是有的。后來京東首頁取消啦。

效果展示:


Gif_20181207_233243.gif

重點(diǎn)是要理解為什么要這樣做。
源代碼:

<!DOCTYPE html>
<html>
<head lang="en">
    <meta charset="UTF-8">
    <title></title>
    <style>
        * {
            margin: 0;
            padding: 0;
        }
        body,html {
            height: 100%;
        }
        ul {
            list-style: none;
            height: 100%;
        }
        ul li {
            height: 100%;
        }
        ol {
            list-style: none;
            position: fixed;
            top: 80px;
            left: 50px;
        }
        ol li {
            width: 50px;
            height: 50px;
            border: 1px solid #000;
            text-align: center;
            line-height: 50px;
            margin-top: -1px;
            cursor: pointer;
        }
    </style>
</head>
<body>
    <ul>
        <li>鞋子區(qū)域</li>
        <li>襪子區(qū)域</li>
        <li>褲子區(qū)域</li>
        <li>裙子區(qū)域</li>
        <li>帽子區(qū)域</li>
    </ul>
    <ol>
        <li>鞋子</li>
        <li>襪子</li>
        <li>褲子</li>
        <li>裙子</li>
        <li>帽子</li>
    </ol>

    <script>
        //需求:點(diǎn)擊ol中的li,屏幕滑動(dòng)到對(duì)應(yīng)的ul中的li的范圍。
        //思路:還是利用window.scrollTo();利用緩動(dòng)動(dòng)畫原理實(shí)現(xiàn)屏幕滑動(dòng)。
        //步驟:
        //0.獲取元素
        //1.指定ul和ol中的li的背景色,對(duì)應(yīng)的li背景色相同
        //2.老三步。(獲取元素并綁定事件)
        //3.利用緩動(dòng)動(dòng)畫原理實(shí)現(xiàn)屏幕滑動(dòng)
        //4.用scroll事件模擬盒子距離最頂端的距離。

        //0.獲取元素
        var ul = document.getElementsByTagName("ul")[0];
        var ol = document.getElementsByTagName("ol")[0];
        var ulLiArr = ul.children;
        var olLiArr = ol.children;
        var target = 0;var leader = 0;var timer = null;
        //1.指定ul和ol中的li的背景色,對(duì)應(yīng)的li背景色相同
        //設(shè)置一個(gè)數(shù)組,里面裝顏色,然指定的顏色給數(shù)組中的指定元素
        var arrColor = ["pink","blue","yellow","orange","green"];
        //利用for循環(huán)給兩個(gè)數(shù)組的元素上色
        for(var i=0;i<arrColor.length;i++){
            //上色
            ulLiArr[i].style.backgroundColor = arrColor[i];
            olLiArr[i].style.backgroundColor = arrColor[i];


            //屬性綁定索引值
            olLiArr[i].index = i;
            //2.老三步。(并綁定事件)循環(huán)綁定,為每一個(gè)li綁定點(diǎn)擊事件
            olLiArr[i].onclick = function () {
                //***獲取目標(biāo)位置
                    //獲取索引值。
                target = ulLiArr[this.index].offsetTop;
                console.log(target);

                //要用定時(shí)器,先清除定時(shí)器
                clearInterval(timer);
                //3.利用緩動(dòng)動(dòng)畫原理實(shí)現(xiàn)屏幕滑動(dòng)
                timer = setInterval(function () {
                    //(1).獲取步長(zhǎng)
                    var step = (target-leader)/10;
                    //(2).二次處理步長(zhǎng)
                    step = step>0?Math.ceil(step):Math.floor(step);
                    //(3).屏幕滑動(dòng)
                    leader = leader + step;
                    window.scrollTo(0,leader);
                    //(4).清除定時(shí)器
                    if(Math.abs(target-leader)<=Math.abs(step)){
                        window.scrollTo(0,target);
                        clearInterval(timer);
                    }
                },25);
            }
        }

        //4.用scroll事件模擬盒子距離最頂端的距離。
        window.onscroll = function () {
            //每次屏幕滑動(dòng),把屏幕卷去的頭部賦值給leader,模擬獲取顯示區(qū)域距離頂部的距離
            leader = scroll().top;
        }

function scroll() {  // 開始封裝自己的scrollTop
    if(window.pageYOffset != null) {  // ie9+ 高版本瀏覽器
        // 因?yàn)?window.pageYOffset 默認(rèn)的是  0  所以這里需要判斷
        return {
            left: window.pageXOffset,
            top: window.pageYOffset
        }
    }
    else if(document.compatMode === "CSS1Compat") {    // 標(biāo)準(zhǔn)瀏覽器   來判斷有沒有聲明DTD
        return {
            left: document.documentElement.scrollLeft,
            top: document.documentElement.scrollTop
        }
    }
    return {   // 未聲明 DTD
        left: document.body.scrollLeft,
        top: document.body.scrollTop
    }
}
    </script>
</body>
</html>

第二個(gè)案例:元素跟隨鼠標(biāo)

效果秀


鼠標(biāo)跟隨
  • 知識(shí)點(diǎn):
    DOM上的某個(gè)事件觸發(fā)時(shí),JS機(jī)制會(huì)產(chǎn)生一個(gè)事件對(duì)象event。
    這個(gè)對(duì)象中包含著所有與事件有關(guān)的信息。
    所有瀏覽器都支持event對(duì)象,但支持的方式不同。

ie 678 支持 window.event 但不支持形參。
其它瀏覽器window.event和形參都支持,看下面代碼:

<script>
        var bodyC=document.body;
            bodyC.style.cssText="width:3000px;height:3000px"http://必須要讓BODY有內(nèi)容,否則就是一個(gè)點(diǎn)。鬼才能點(diǎn)到。
       bodyC.onclick=function(event){
        //console.log(window.event)ie 678 支持這個(gè)
        //console.log(event)其它瀏覽器支持這個(gè)

        // 兼容寫法
        event=event||window.event;
        console.log(event);
      }
    </script>
生成的mouseEvent,本身也是個(gè)對(duì)象,可以調(diào)用上面的屬性

先把這三個(gè)屬性搞清楚
event.pageY 鼠標(biāo)到這個(gè)網(wǎng)頁最頂部的距離
event.scrollY 鼠標(biāo)到這個(gè)屏幕最頂部的距離
event.clientY 鼠標(biāo)到這個(gè)瀏覽器可視區(qū)域最頂部的距離(一般就是書簽欄下面)

不知道你們能不能看懂

源代碼:

<!DOCTYPE html>
<html>
<head lang="en">
    <meta charset="UTF-8">
    <title></title>
    <style>
        body {
            height: 5000px;
        }
        img {
            position: absolute;
            padding: 10px 0;
            border: 1px solid #ccc;
            cursor: pointer;
        }
    </style>
</head>
<body>
    <img src="images/img.jpg" width="100"/>

    <script>
        //需求:點(diǎn)擊頁面的任何地方,圖片跟隨鼠標(biāo)移動(dòng)到點(diǎn)擊位置。
        //思路:獲取鼠標(biāo)在頁面中的位置,然圖片緩慢運(yùn)動(dòng)到鼠標(biāo)點(diǎn)擊的位置。
        //  兼容ie67做pageY和pageX;
        //  原理:     鼠標(biāo)在頁面的位置 = 被卷去的部分+可視區(qū)域部分。
        //步驟:
        //1.老三步。
        //2.獲取鼠標(biāo)在頁面中的位置。
        //3.利用緩動(dòng)原理,慢慢的運(yùn)動(dòng)到指定位置。(包括左右和上下)

        //1.老三步。
        var img = document.getElementsByTagName("img")[0];
        var timer = null;
        var targetx = 0;var targety = 0;
        var leaderx = 0;var leadery = 0;
        //給整個(gè)文檔綁定點(diǎn)擊事件獲取鼠標(biāo)的位置。
        document.onclick = function (event) {
            //新五步
            //兼容獲取事件對(duì)象
            event = event || window.event;
            //鼠標(biāo)在頁面的位置 = 被卷去的部分+可視區(qū)域部分。
            var pagey = event.pageY || scroll().top + event.clientY;
            var pagex = event.pageX || scroll().left + event.clientX;

            //要用定時(shí)器,先清定時(shí)器
//            targety = pagey-img.offsetHeight/2;
//            targetx = pagex-img.offsetWidth/2;
            targety = pagey-30;
            targetx = pagex-50;
            clearInterval(timer);
            timer = setInterval(function () {
                //為盒子的位置獲取值
                leaderx = img.offsetLeft;
                leadery = img.offsetTop;
                //獲取步長(zhǎng)
                var stepx = (targetx-leaderx)/10;
                 var stepy = (targety-leadery)/10;
                //二次處理步長(zhǎng)
                stepx = stepx>0?Math.ceil(stepx):Math.floor(stepx);
                leaderx = leaderx + stepx;

                stepy = stepy>0?Math.ceil(stepy):Math.floor(stepy);
                leadery = leadery + stepy;
                //賦值
                img.style.left = leaderx + "px";
                img.style.top = leadery + "px";
                
                //清定時(shí)器

               if(Math.abs(targety-img.offsetTop)<=Math.abs(stepy) && Math.abs(targetx-img.offsetLeft)<=Math.abs(stepx)){
                   img.style.top = targety + "px";
                   img.style.left = targetx + "px";
                   clearInterval(timer);
               }
            },30);
        }
      

    </script>



</body>
</html>

第三個(gè)案例

效果秀


獲取鼠標(biāo)在盒子里的位置

獲取方法就是鼠標(biāo)到頁面的距離-這個(gè)div到頁面的距離。

源代碼:

<!DOCTYPE html>
<html>
<head lang="en">
    <meta charset="UTF-8">
    <title></title>
    <style>
        .box  {
            width: 300px;
            height: 200px;
            padding-top: 100px;
            background-color: pink;
            margin: 100px;
            text-align: center;
            font: 18px/30px "simsun";
            cursor: pointer;
        }
    </style>
</head>
<body>
    <div class="box">

    </div>

    <script src="animate.js"></script>
    <script>
        var div = document.getElementsByTagName("div")[0];

        div.onmousemove = function (event) {
            event = event || window.event;
            //2.獲取鼠標(biāo)在整個(gè)頁面的位置
            var pagex = event.pageX || scroll().left + event.clientX;
            var pagey = event.pageY || scroll().top + event.clientY;
            //4.用鼠標(biāo)的位置減去盒子的位置賦值給盒子的內(nèi)容。
            var targetx = pagex - div.offsetLeft;
            var targety = pagey - div.offsetTop;
            this.innerHTML = "X坐標(biāo)為:"+targetx+"px;<br>Y坐標(biāo)為:"+targety+"px;"
        }

    </script>

</body>
</html>

第四個(gè)案例 產(chǎn)品放大鏡

難點(diǎn) 比例問題

需要知道以下技術(shù)點(diǎn):

onmousedown 鼠標(biāo)按下
onmouseup 鼠標(biāo)彈起

效果秀:


是不是很熟悉

源碼:

<!DOCTYPE html>
<html>
<head lang="en">
    <meta charset="UTF-8">
    <title></title>
    <style>
        * {
            margin: 0;
            padding: 0;
        }
        .box {
            width: 350px;
            height: 350px;
            margin:100px;
            border: 1px solid #ccc;
            position: relative;
        }
        .big {
            width: 400px;
            height: 400px;
            position: absolute;
            top: 0;
            left: 360px;
            border: 1px solid #ccc;
            overflow: hidden;
            display: none;
        }
        .mask {
            width: 175px;
            height: 175px;
            background: rgba(255, 255, 0, 0.4);
            position: absolute;
            top: 0;
            left: 0;
            cursor: move;
            display: none;
        }
        .small {
            position: relative;
        }
        img {
            vertical-align: top;
        }
    </style>

    <script src="animate.js"></script>
    <script>
        window.onload = function () {
            //需求:鼠標(biāo)放到小盒子上,讓大盒子里面的圖片和我們同步等比例移動(dòng)。
            //技術(shù)點(diǎn):onmouseenter==onmouseover 第一個(gè)不冒泡
            //技術(shù)點(diǎn):onmouseleave==onmouseout  第一個(gè)不冒泡
            //步驟:
            //1.鼠標(biāo)放上去顯示盒子,移開隱藏盒子。
            //2.老三步和新五步(黃盒子跟隨移動(dòng))
            //3.右側(cè)的大圖片,等比例移動(dòng)。

            //0.獲取相關(guān)元素
            var box = document.getElementsByClassName("box")[0];
            var small = box.firstElementChild || box.firstChild;
            var big = box.children[1];
            var mask = small.children[1];
            var bigImg = big.children[0];

            //1.鼠標(biāo)放上去顯示盒子,移開隱藏盒子。(為小盒子綁定事件)
            small.onmouseenter = function () {
                //封裝好方法調(diào)用:顯示元素
                show(mask);
                show(big);
            }
            small.onmouseleave = function () {
                //封裝好方法調(diào)用:隱藏元素
                hide(mask);
                hide(big);
            }

            //2.老三步和新五步(黃盒子跟隨移動(dòng))
            //綁定的事件是onmousemove,而事件源是small(只要在小盒子上移動(dòng)1像素,黃盒子也要跟隨)
            small.onmousemove = function (event) {
                //想移動(dòng)黃盒子,必須知道鼠標(biāo)在small中的位置。x作為mask的left值,y作mask的top值。
                //新五步
                event = event || window.event;
                var pagex = event.pageX || scroll().left + event.clientX;
                var pagey = event.pageY || scroll().top + event.clientY;
                //讓鼠標(biāo)在黃盒子最中間,減去黃盒子寬高的一半
                var x = pagex - box.offsetLeft - mask.offsetWidth/2;
                var y = pagey - box.offsetTop - mask.offsetHeight/2;
                //限制換盒子的范圍
                //left取值為大于0,小盒子的寬-mask的寬。
                if(x<0){
                    x = 0;
                }
                if(x>small.offsetWidth-mask.offsetWidth){
                    x = small.offsetWidth-mask.offsetWidth;
                }
                //top同理。
                if(y<0){
                    y = 0;
                }
                if(y>small.offsetHeight-mask.offsetHeight){
                    y = small.offsetHeight-mask.offsetHeight;
                }
                //移動(dòng)黃盒子
                console.log(small.offsetHeight);
                mask.style.left = x + "px";
                mask.style.top = y + "px";

                //3.右側(cè)的大圖片,等比例移動(dòng)。
                //如何移動(dòng)大圖片?等比例移動(dòng)。
                //    大圖片/大盒子 = 小圖片/mask盒子
                //    大圖片走的距離/mask走的距離 = (大圖片-大盒子)/(小圖片-黃盒子)
//                var bili = (bigImg.offsetWidth-big.offsetWidth)/(small.offsetWidth-mask.offsetWidth);

                //大圖片走的距離/mask盒子都的距離 = 大圖片/小圖片
                var bili = bigImg.offsetWidth/small.offsetWidth;

                var xx = bili*x;
                var yy = bili*y;


                bigImg.style.marginTop = -yy+"px";
                bigImg.style.marginLeft = -xx+"px";
            }

        }
    </script>
</head>
<body>
    <div class="box">
        <div class="small">
            <img src="images/001.jpg" alt=""/>
            <div class="mask"></div>
        </div>
        <div class="big">
            <img src="images/0001.jpg" alt=""/>
        </div>
    </div>
</body>
</html>

第五個(gè)案例 可以拖拽的盒子

效果圖:

Gif_20181207_233157.gif

知識(shí)點(diǎn):

//禁止文本選中(選中后取消)
window.getSelection ? window.getSelection().removeAllRanges() : document.selection.empty();
還有兩個(gè)新事件:
onmousedown 鼠標(biāo)按下
onmouseup 鼠標(biāo)松開
源碼:

<!DOCTYPE html>
<html>
<head lang="en">
    <meta charset="UTF-8">
    <title></title>
    <style>
        * {
            margin: 0;
            padding: 0;
        }

        .nav {
            height: 30px;
            background: #036663;
            border-bottom: 1px solid #369;
            line-height: 30px;
            padding-left: 30px;
        }

        .nav a {
            color: #fff;
            text-align: center;
            font-size: 14px;
            text-decoration: none;

        }

        .d-box {
            width: 400px;
            height: 300px;
            border: 5px solid #eee;
            box-shadow: 2px 2px 2px 2px #666;
            position: absolute;
            top: 40%;
            left: 40%;
        }

        .hd {
            width: 100%;
            height: 25px;
            background-color: #7c9299;
            border-bottom: 1px solid #369;
            line-height: 25px;
            color: white;
            cursor: move;
        }

        #box_close {
            float: right;
            cursor: pointer;
        }
    </style>

    <script src="animate.js"></script>
    <script>
        window.onload = function () {
            //需求:在指定位置按住鼠標(biāo)左鍵移動(dòng)對(duì)話框。
            //分析:鼠標(biāo)按下,觸動(dòng)事件,移動(dòng)在更換對(duì)話框的位置。
            //鼠標(biāo)按下onmousedown   鼠標(biāo)彈起:onmouseup   鼠標(biāo)移動(dòng)onmousemove
            //步驟:
            //1.老三步和新五步
            //2.把鼠標(biāo)的坐標(biāo)賦值給對(duì)話框。

            var box = document.getElementById("d_box");
            var drop = document.getElementById("drop");
            //1.老三步和新五步
            //先按下,在移動(dòng)觸動(dòng)此事件
            drop.onmousedown = function (event) {
                //獲取鼠標(biāo)在盒子中的坐標(biāo),將來移動(dòng)的時(shí)候減去保證鼠標(biāo)在盒子的指定位置
                event = event || window.event;
                var pagex = event.pageX || scroll().left + event.clientX;
                var pagey = event.pageY || scroll().top + event.clientY;

                // 先獲取鼠標(biāo)在盒子中的坐標(biāo),后面再減去
                var x = pagex - box.offsetLeft;
                var y = pagey - box.offsetTop;


                document.onmousemove = function (event) {
                    //2.把鼠標(biāo)的坐標(biāo)賦值給對(duì)話框。
                    event = event || window.event;
                    var xx = event.pageX || scroll().left + event.clientX;
                    var yy = event.pageY || scroll().top + event.clientY;
                    //二次操作鼠標(biāo)位置  減去鼠標(biāo)在盒子中的坐標(biāo);
                    // 為什么要減去呢,因?yàn)閎ox.style.left 是以最左邊的值為準(zhǔn),top也是
                    xx = xx - x;
                    yy = yy - y;

                    //給box賦值
                    box.style.left = xx+"px";
                    box.style.top = yy+"px";
                    //禁止文本選中(選中后取消)
                    window.getSelection ? window.getSelection().removeAllRanges() : document.selection.empty();
                }
            }

            //事件解綁
            drop.onmouseup = function () {
                //解綁
                document.onmousemove = null;
            }


        }
    </script>

</head>
<body>
<!--頂部注冊(cè)部分,無用-->
    <div class="nav">
        <a href="javascript:;" id="register">注冊(cè)信息</a>
    </div>
<!--我們移動(dòng)的對(duì)話框-->
    <div class="d-box" id="d_box">
        <div class="hd" id="drop">
            <i>注冊(cè)信息 (可以拖拽)</i>
            <span id="box_close">【關(guān)閉】</span>
        </div>
        <div class="bd"></div>
    </div>
</body>
</html>

第六個(gè)案例 自己制作滾動(dòng)條

我做的很丑,你可以搞得漂亮一點(diǎn)。
效果圖:

Gif_20181207_233125.gif

源碼:

<!DOCTYPE html>
<html>
<head lang="en">
    <meta charset="UTF-8">
    <title></title>
    <style>
        * {
            margin: 0;
            padding: 0;
        }
        .box {
            width: 300px;
            height: 500px;
            border: 1px solid red;
            box-sizing: border-box;
            margin: 50px auto;
            overflow: hidden;
            position: relative;
        }
        .scroll {
            width: 20px;
            height: 500px;
            background-color: #ccc;
            position: absolute;
            top: 0;
            right: 0;
        }
        .bar {
            width: 20px;
            background-color: red;
            border-radius: 10px;
            cursor: pointer;
            position: absolute;
            top: 0;
        }
        .content {
            padding: 15px;
        }
    </style>

    <script src="animate.js"></script>
    <script>
        window.onload = function () {
            //需求:模擬滾動(dòng)條,鼠標(biāo)拖動(dòng)滾動(dòng)條,滾動(dòng)條動(dòng),而且內(nèi)容等比例聯(lián)動(dòng)。
            //步驟:
            //1.根據(jù)內(nèi)容和盒子的比例確定bar的高。
            //2.綁定事件(鼠標(biāo)按下,然后移動(dòng))
            //3.鼠標(biāo)移動(dòng),bar聯(lián)動(dòng)
            //4.內(nèi)容等比例聯(lián)動(dòng)


            //0.獲取相關(guān)元素
            var box = document.getElementById("box");
            var content = box.children[0];
            var scroll = box.children[1];
            var bar = scroll.children[0];

            //1.根據(jù)內(nèi)容和盒子的比例確定bar的高。
            //內(nèi)容的高/盒子的高 = scroll的高/bar的高
            //bar的高 = 盒子的高*scroll的高/內(nèi)容的高
            var barHeight = box.offsetHeight*scroll.offsetHeight/content.offsetHeight;
            bar.style.height = barHeight + "px";
            //2.綁定事件(鼠標(biāo)按下,然后移動(dòng))
            bar.onmousedown = function (event) {
                event = event || window.event;
                var pageyy = event.pageY || scroll().top + event.clientY;
                var y = pageyy - bar.offsetTop;
                //模擬拖拽案例
                document.onmousemove = function (event) {
                    //新五步獲取鼠標(biāo)在頁面的位置。
                    event = event || window.event;
                    var pagey = event.pageY || scroll().top + event.clientY;
                    //鼠標(biāo)的位置-鼠標(biāo)在盒子中的位置。
                    pagey = pagey - y;
                    //限制y的取值。大于0,小于scroll的高度-bar的高度
                    if(pagey<0){
                        pagey = 0;
                    }
                    if(pagey>scroll.offsetHeight-bar.offsetHeight){
                        pagey = scroll.offsetHeight-bar.offsetHeight;
                    }

                    //3.鼠標(biāo)移動(dòng),bar聯(lián)動(dòng)
                    bar.style.top = pagey + "px";

                    //4.內(nèi)容等比例聯(lián)動(dòng)
                    //高級(jí)比例:  內(nèi)容走的距離/bar走的距離 = (內(nèi)容的高-大盒子的高)/(scroll的高-bar的高)
                    var s = pagey *(content.offsetHeight-box.offsetHeight)/(scroll.offsetHeight-bar.offsetHeight);
                    //s賦值給content。通過marginTop負(fù)值移動(dòng)content
                    content.style.marginTop = -s+"px";

                    //讓被選文字清除。
                    window.getSelection ? window.getSelection().removeAllRanges() : document.selection.empty();
                }
            }

            //事件解綁
            document.onmouseup = function () {
                document.onmousemove = null;
            }

        }
    </script>

</head>
<body>
    <div class="box" id="box">
        <div class="content">
            孩兒勵(lì)志出湘關(guān),學(xué)不成名終不還。<br>
            埋骨何須桑梓地,人生無處不青山。<br>
            孩兒勵(lì)志出湘關(guān),學(xué)不成名終不還。<br>
            埋骨何須桑梓地,人生無處不青山。<br>
            孩兒勵(lì)志出湘關(guān),學(xué)不成名終不還。<br>
            埋骨何須桑梓地,人生無處不青山。<br>
            孩兒勵(lì)志出湘關(guān),學(xué)不成名終不還。<br>
            埋骨何須桑梓地,人生無處不青山。<br>
            孩兒勵(lì)志出湘關(guān),學(xué)不成名終不還。<br>
            埋骨何須桑梓地,人生無處不青山。<br>
            孩兒勵(lì)志出湘關(guān),學(xué)不成名終不還。<br>
            埋骨何須桑梓地,人生無處不青山。<br>
            孩兒勵(lì)志出湘關(guān),學(xué)不成名終不還。<br>
            埋骨何須桑梓地,人生無處不青山。<br>
            孩兒勵(lì)志出湘關(guān),學(xué)不成名終不還。<br>
            埋骨何須桑梓地,人生無處不青山。<br>
            孩兒勵(lì)志出湘關(guān),學(xué)不成名終不還。<br>
            埋骨何須桑梓地,人生無處不青山。<br>
            孩兒勵(lì)志出湘關(guān),學(xué)不成名終不還。<br>
            埋骨何須桑梓地,人生無處不青山。<br>
            孩兒勵(lì)志出湘關(guān),學(xué)不成名終不還。<br>
            埋骨何須桑梓地,人生無處不青山。<br>
            孩兒勵(lì)志出湘關(guān),學(xué)不成名終不還。<br>
            埋骨何須桑梓地,人生無處不青山。<br>
            孩兒勵(lì)志出湘關(guān),學(xué)不成名終不還。<br>
            埋骨何須桑梓地,人生無處不青山。<br>
            孩兒勵(lì)志出湘關(guān),學(xué)不成名終不還。<br>
            埋骨何須桑梓地,人生無處不青山。<br>
            孩兒勵(lì)志出湘關(guān),學(xué)不成名終不還。<br>
            埋骨何須桑梓地,人生無處不青山。<br>
            孩兒勵(lì)志出湘關(guān),學(xué)不成名終不還。<br>
            埋骨何須桑梓地,人生無處不青山。<br>
            孩兒勵(lì)志出湘關(guān),學(xué)不成名終不還。<br>
            埋骨何須桑梓地,人生無處不青山。<br>
            孩兒勵(lì)志出湘關(guān),學(xué)不成名終不還。<br>
            埋骨何須桑梓地,人生無處不青山。<br>
            孩兒勵(lì)志出湘關(guān),學(xué)不成名終不還。<br>
            埋骨何須桑梓地,人生無處不青山。<br>
            孩兒勵(lì)志出湘關(guān),學(xué)不成名終不還。<br>
            埋骨何須桑梓地,人生無處不青山。<br>
            孩兒勵(lì)志出湘關(guān),學(xué)不成名終不還。<br>
            埋骨何須桑梓地,人生無處不青山。<br>
            孩兒勵(lì)志出湘關(guān),學(xué)不成名終不還。<br>
            埋骨何須桑梓地,人生無處不青山。<br>
            孩兒勵(lì)志出湘關(guān),學(xué)不成名終不還。<br>
            埋骨何須桑梓地,人生無處不青山。<br>
            孩兒勵(lì)志出湘關(guān),學(xué)不成名終不還。<br>
            埋骨何須桑梓地,人生無處不青山。<br>
            孩兒勵(lì)志出湘關(guān),學(xué)不成名終不還。<br>
            埋骨何須桑梓地,人生無處不青山。<br>
            孩兒勵(lì)志出湘關(guān),學(xué)不成名終不還。<br>
            埋骨何須桑梓地,人生無處不青山。<br>
            孩兒勵(lì)志出湘關(guān),學(xué)不成名終不還。<br>
            埋骨何須桑梓地,人生無處不青山。<br>
            孩兒勵(lì)志出湘關(guān),學(xué)不成名終不還。<br>
            埋骨何須桑梓地,人生無處不青山。<br>
            孩兒勵(lì)志出湘關(guān),學(xué)不成名終不還。<br>
            埋骨何須桑梓地,人生無處不青山。<br>
            孩兒勵(lì)志出湘關(guān),學(xué)不成名終不還。<br>
            埋骨何須桑梓地,人生無處不青山。<br>
            孩兒勵(lì)志出湘關(guān),學(xué)不成名終不還。<br>
            埋骨何須桑梓地,人生無處不青山。<br>
            孩兒勵(lì)志出湘關(guān),學(xué)不成名終不還。<br>
            埋骨何須桑梓地,人生無處不青山。<br>
            孩兒勵(lì)志出湘關(guān),學(xué)不成名終不還。<br>
            埋骨何須桑梓地,人生無處不青山。<br>
            孩兒勵(lì)志出湘關(guān),學(xué)不成名終不還。<br>
            埋骨何須桑梓地,人生無處不青山。<br>
            孩兒勵(lì)志出湘關(guān),學(xué)不成名終不還。<br>
            埋骨何須桑梓地,人生無處不青山。<br>
            -------------結(jié)束------------<br>
        </div>
        <div class="scroll">
            <div class="bar"></div>
        </div>
    </div>



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

相關(guān)閱讀更多精彩內(nèi)容

  • ??JavaScript 與 HTML 之間的交互是通過事件實(shí)現(xiàn)的。 ??事件,就是文檔或?yàn)g覽器窗口中發(fā)生的一些特...
    霜天曉閱讀 3,715評(píng)論 1 11
  • offset家族三大家族和一個(gè)事件對(duì)象三大家族(offset/scroll/client)事件對(duì)象/event ...
    Yuann閱讀 1,094評(píng)論 0 5
  • 用兩張圖告訴你,為什么你的 App 會(huì)卡頓? - Android - 掘金 Cover 有什么料? 從這篇文章中你...
    hw1212閱讀 14,104評(píng)論 2 59
  • 安安七個(gè)半月了,可以吃雞肉了,到舅婆家給你拿了雞肉,做好,你大口大口吃完,希望你以后很會(huì)吃,健康成長(zhǎng)。 下午帶你到...
    安寶日志閱讀 249評(píng)論 0 0
  • 處處留心皆風(fēng)景 自從開始寫文章,自己更加留意自己的念頭和心情。有時(shí)候,抓住一個(gè)好心情,去回想,去記錄。就看到內(nèi)心特...
    娟記閱讀 322評(píng)論 2 3

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