小劉同學的第四十四篇博文

来源:https://www.cnblogs.com/xiaoliutongxue/archive/2018/02/05/8419925.html
-Advertisement-
Play Games

今天想早點休息,在家裡的事情總是特別多的,這幾天的確是都不是很想好好學習,然而又有太多太多的事情等著自己去做,然後在家裡還是不能靜下心來自習的,也可能是雞湯喝的太少了。 這是老師寫的homework4,就根據自己的理解然後邊寫註釋。 其實不太能理解這裡為什麼要寫return。。。但是刪了這一句又不行 ...


  今天想早點休息,在家裡的事情總是特別多的,這幾天的確是都不是很想好好學習,然而又有太多太多的事情等著自己去做,然後在家裡還是不能靜下心來自習的,也可能是雞湯喝的太少了。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
    <style>
        html,body{
            width: 100%;
            height: 100%;
            margin: 0;
            padding: 0;
            overflow: hidden;
        }
        .screen-wheel{
            width: 100%;
            height: 100%;
            list-style: none;
            margin: 0;
            padding: 0;
            position: absolute;
            top:0;
            left:0;
        }
        .screen-wheel .screen-page{
            width: 100%;
            height: 100%;
        }
    </style>
</head>
<body>
    <ul id="pages" class="screen-wheel">
        <li class="screen-page" style="background:#de1643"></li>
        <li class="screen-page" style="background:#ff9800"></li>
        <li class="screen-page" style="background:#ffeb3b"></li>
        <li class="screen-page" style="background:#4caf50"></li>
        <li class="screen-page" style="background:#607d8b"></li>
        <li class="screen-page" style="background:#2196f3"></li>
        <li class="screen-page" style="background:#673ab7"></li>
    </ul>
    <script>
        var pages = document.getElementById("pages");
        // 設置一個滾輪開關,如果滾輪滾動多次,但滾輪事件依舊只觸發一次
        var scrolling = false;
        // 存放當前索引值
        var index = 0;
        var length = pages.children.length;
        document.body.onmousewheel = function(e){
            // 瀏覽器相容性問題
            var base = e.wheelDelta||-e.detail;
            if(!scrolling){
                scrolling = true;
                // value存放移動數值的大小 等於 當前索引值*100
                var value = index*100;
                // dir記錄滾輪是向上滾還是向下滾的
                var dir;
                // base值大於0,說明向上滾
                // 並且索引值index不能小於0,紅色是第一個,index為0
                if(base>0 && index>0){
                    console.log("向上滾動"+index);
                    dir = true;
                    index--;
                }else if(base<0 && index<length-1){
                    console.log("向下滾動"+index);
                    dir = false;
                    index++;
                }
                // index小於等於0,或者是index大於等於7
                else{
                    scrolling = false;
                    return;
                }
                var animate = setInterval(function(){
                    dir?value--:value++;
                    pages.style.top = "-"+value+"%";
                    if(value===index*100){
                        window.clearInterval(animate);
                        scrolling = false;
                    }
                },10);
                // setTimeout(function(){
                //     scrolling = false;
                // },500);
            }
        }
        document.body.addEventListener("DOMMouseScroll",document.body.onmousewheel,false);
        // document.body.onmousewheel = function(e){
        //     if(!scrolling){
        //         scrolling = true;
        //         if(e.wheelDelta>0 && index>0){
        //             console.log("向上滾動");
        //             index--;
        //             pages.style.top = "-"+index+"00%";
        //         }else if(e.wheelDelta<0 && index<length-1){
        //             console.log("向下滾動");
        //             index++;
        //             pages.style.top = "-"+index+"00%";
        //         }
        //         setTimeout(function(){
        //             scrolling = false;
        //         },500);
        //     }
        // }
    </script>
</body>
</html>

  這是老師寫的homework4,就根據自己的理解然後邊寫註釋。

 

  其實不太能理解這裡為什麼要寫return。。。但是刪了這一句又不行,這是疑惑的一點。。。

  已經連續三天狀態不好了,明天一定要調整過來。

  晚安,朋友們(¦3[▓▓] 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • CGAffineTransform 概述 CGAffineTransform是一個用於處理形變的類,其可以改變控制項的平移、縮放、旋轉等,其坐標系統採用的是二維坐標系,即向右為x軸正方向,向下為y軸正方向 在UIView中有一個transform屬性便是專門用來控制形變的,其使用方法如下 樣例素材 在 ...
  • 一、Block定義 Block可以理解為一個函數指針(即它是一個指針,指向某個函數) returnType (^blockName) (parameter list) = ^ (parameter list) {代碼塊}; 說明: returnType:block的返回類型,可定義為void; bl ...
  • 數字證書: 是數字形式的標識,與我們的護照和駕駛證十分相似。它是由證書頒發機構(CA)的權威機構頒發的,由該權威機構擔保證書信息的有效性。因此數字證書只有在特定的時間段內有效。 證書中包含了證書中所標識的公鑰,也就是說證書里包含了你的公鑰,公鑰與你個人信息相匹配,證書會找到用戶對應的自己的公鑰,並確 ...
  • 簡介 ReactiveCocoa(簡稱為RAC),RAC具有函數響應式編程特性,由Matt Diephouse開源的一個應用於iOS和OS X的新框架。 為什麼使用RAC? 因為RAC具有高聚合低耦合的思想所以使用RAC會讓代碼更簡潔,邏輯更清晰。 如何在項目中添加RAC? 方法1.可以使用Coco ...
  • 項目開發過程中,在完成iOS項目——項目開發環境搭建之後,我們首先需要考慮的就是我們的項目的整體框架與導航架構設計,然後在這個基礎上考慮功能模塊的完成。 一 導航架構設計 一款App的導航架構設計應該是符合人們的操作慣性和方便操作的特點,也應該在交互上更加合理和人性化。根據項目功能和定位不同,不同的 ...
  • iOS 擴展思維導向圖,如下圖所示: ...
  • UITabBarController與UINavigationController類似,UITabBarController也可以用來控制多個頁面導航,用戶可以在多個視圖控制器之間移動,並可以定製屏幕底部的選項卡欄。 藉助屏幕底部的選項卡欄,UITabBarController不必像UINaviga ...
  • Chrome瀏覽器及調試教程 在web開發過程中,我們在寫JavaScript腳本時難免會遇到各種bug,這時,我們就需要去調試我們的JavaScript腳本,然後去修改代碼。最簡單的調試方法就是使用alert方法,將可信息通過alert方法的彈窗顯示出來。但是,alert方法有幾個弊端: 1)al ...
一周排行
    -Advertisement-
    Play Games
  • 示例項目結構 在 Visual Studio 中創建一個 WinForms 應用程式後,項目結構如下所示: MyWinFormsApp/ │ ├───Properties/ │ └───Settings.settings │ ├───bin/ │ ├───Debug/ │ └───Release/ ...
  • [STAThread] 特性用於需要與 COM 組件交互的應用程式,尤其是依賴單線程模型(如 Windows Forms 應用程式)的組件。在 STA 模式下,線程擁有自己的消息迴圈,這對於處理用戶界面和某些 COM 組件是必要的。 [STAThread] static void Main(stri ...
  • 在WinForm中使用全局異常捕獲處理 在WinForm應用程式中,全局異常捕獲是確保程式穩定性的關鍵。通過在Program類的Main方法中設置全局異常處理,可以有效地捕獲並處理未預見的異常,從而避免程式崩潰。 註冊全局異常事件 [STAThread] static void Main() { / ...
  • 前言 給大家推薦一款開源的 Winform 控制項庫,可以幫助我們開發更加美觀、漂亮的 WinForm 界面。 項目介紹 SunnyUI.NET 是一個基於 .NET Framework 4.0+、.NET 6、.NET 7 和 .NET 8 的 WinForm 開源控制項庫,同時也提供了工具類庫、擴展 ...
  • 說明 該文章是屬於OverallAuth2.0系列文章,每周更新一篇該系列文章(從0到1完成系統開發)。 該系統文章,我會儘量說的非常詳細,做到不管新手、老手都能看懂。 說明:OverallAuth2.0 是一個簡單、易懂、功能強大的許可權+可視化流程管理系統。 有興趣的朋友,請關註我吧(*^▽^*) ...
  • 一、下載安裝 1.下載git 必須先下載並安裝git,再TortoiseGit下載安裝 git安裝參考教程:https://blog.csdn.net/mukes/article/details/115693833 2.TortoiseGit下載與安裝 TortoiseGit,Git客戶端,32/6 ...
  • 前言 在項目開發過程中,理解數據結構和演算法如同掌握蓋房子的秘訣。演算法不僅能幫助我們編寫高效、優質的代碼,還能解決項目中遇到的各種難題。 給大家推薦一個支持C#的開源免費、新手友好的數據結構與演算法入門教程:Hello演算法。 項目介紹 《Hello Algo》是一本開源免費、新手友好的數據結構與演算法入門 ...
  • 1.生成單個Proto.bat內容 @rem Copyright 2016, Google Inc. @rem All rights reserved. @rem @rem Redistribution and use in source and binary forms, with or with ...
  • 一:背景 1. 講故事 前段時間有位朋友找到我,說他的窗體程式在客戶這邊出現了卡死,讓我幫忙看下怎麼回事?dump也生成了,既然有dump了那就上 windbg 分析吧。 二:WinDbg 分析 1. 為什麼會卡死 窗體程式的卡死,入口門檻很低,後續往下分析就不一定了,不管怎麼說先用 !clrsta ...
  • 前言 人工智慧時代,人臉識別技術已成為安全驗證、身份識別和用戶交互的關鍵工具。 給大家推薦一款.NET 開源提供了強大的人臉識別 API,工具不僅易於集成,還具備高效處理能力。 本文將介紹一款如何利用這些API,為我們的項目添加智能識別的亮點。 項目介紹 GitHub 上擁有 1.2k 星標的 C# ...