盤點三個JavaScript案例——實現限時秒殺、定時跳轉、改變盒子大小

前言

今天來給大家盤點三個JavaScript案例,分別是實現限時秒殺、定時跳轉、改變盒子大小案例,一起來看看吧!

一、實現限時秒殺案例

1.在淘寶網中,商家為了促銷經常搞一些活動,例如限時秒殺是常見的一種活動,來增加消費者購買商品。

2.實現限時秒殺案例,具體代碼如下所示:

HTML

<div class="box"><div style="width:190px">距離5/20號限時秒殺還有</div><div id="day"></div> <div id="hour"></div> <div id="minute"></div><div id="second"></div> </div>

在上面代碼中,id為day、hour、minute、second分別表示剩余的天數、小時、分鐘、秒數。

CSS

            
*{margin: 0;padding: 0;}.box {width: 702px;height: 378px;display: flex;flex-direction: row;align-items: center;justify-content: center;text-align: center;border: 1px solid #000;}.box div {display: flex;color: royalblue;width: 50px;height: 50px;border: 1px solid #ccc;align-items: center;justify-content: center;}

在上面代碼中,使用彈性布局display:flex,用于盒子模型提供很大的一個靈活性。

flex-direction屬性表示控制主軸的方向,row表示水平方向。

justify-content屬性表示項目在主軸上的對齊方式,center表示中間。

align-items屬性表示項目在交叉軸上對齊方式,center表示中間。

JavaScript

            
//設置秒殺結束時間var endTime = new Date('2021', '4', '20'); //指定日期var endSec = endTime.getTime(); //指定日期的毫秒數// 聲明變量保存剩余的時間var d = h = m = s = 0;// 設置定時器,實現限時秒殺效果var id = setInterval(show, 1000);function show() {var nowtime = new Date(); // 獲取當前時間// 獲取時間差,單位秒var gain = parseInt((endSec - nowtime.getTime()) / 1000);// 判斷秒殺時間是否到期if (gain > 0) {// 計算剩余天數d = parseInt(gain / (60*60*24)); // 計算剩余小時h = parseInt((gain / (60*60)) % 24); // 計算剩余分鐘m = parseInt((gain / 60) % 60); // 計算剩余秒s = parseInt(gain % 60); } else {clearInterval(id); // 清除定時器d = h = m = s = '00';}// 將剩余的天、小時、分鐘、秒顯示在網頁中document.getElementById('day').innerHTML = d + '天';document.getElementById('hour').innerHTML = h + '時';document.getElementById('minute').innerHTML = m + '分';document.getElementById('second').innerHTML = s + '秒';}

在上面代碼中,首先是創建秒殺結束時間,利用Date對象的getTime()方法分別獲取結束秒殺的時間和當前時間的毫秒數。判斷秒殺時間是否到期,如果沒到期,計算剩余天數、小時、分鐘、秒數。如果到期清除計時器。

使用document.getElementById()方法根據指定的Id對象插入相應的內容。

效果圖如下所示:

二、實現定時跳轉案例

1.在現實生活中,用戶付款成功后,頁面停留幾秒鐘顯示信息,之后,返回到首頁。小編帶大家一起來學習利用定時器實現跳轉的效果!

2.實現定時跳轉案例,具體代碼如下所示:

HTML

<div style="text-align: center;"><h1>定時跳轉</h1><a href="https://www.baidu.com/"><span id="sec">5</span>秒后自動跳轉頁面或點擊鏈接跳轉</a>
</div>

在上面代碼中,實現簡單的頁面布局,h1標簽表示大標題,a標簽表示定義超鏈接,span是行內元素。

JavaScript

function jump(sec,url){var sec=document.getElementById("sec").innerHTML=--sec;if(sec>0){setTimeout('jump('+sec+',\''+url+'\') ',1000)}else{location.href=url;}
}
jump(5,"https://www.baidu.com/")

在上面代碼中,首先是使用document.getElementById()方法獲取id為sec,將初始化的秒數減一使用innerHTML方法插入到id為sec位置。

判斷秒數是否大于0,如果大于0,繼續計數。如果小于0,直接跳轉到指定的頁面。

效果圖如下所示:

三、實現改變盒子大小案例

1.在Web項目開發中,用戶根據不同操作修改顯示的內容、CSS樣式是最常見的功能。小編帶大家一起來學習一個改變盒子大小的案例!

2.實現改變盒子大小的案例,具體代碼如下所示:

HTML

<div id="box" style="width:100px;height:100px;background:burlywood;">點我發生變化</div>

在上面代碼中,實現一個寬和高為100px的div,id為box。

JavaScript

    
//獲取指定Id為box對象var box = document.getElementById('box');//存儲點擊的次數var num = 0;                     // 處理點擊事件box.onclick = function() {     num++;// 點擊次數是奇數,盒子變大if (num % 2) {                 this.style.width = '250px';this.style.height = '250px';this.innerHTML = '大盒子';} else {// 點擊次數是偶數,盒子變小this.style.width = '100px';this.style.height = '100px';this.innerHTML = '小盒子';}};

在上面代碼中,首先是使用document.getElementById()方法獲取id為box,定義一個num用來存儲點擊的次數,為box添加點擊事件并處理,如果num的值為偶數,盒子變小。如果num的值為奇數,盒子變大。

本文案例參考《JavaScript前端開發案例教程》,黑馬程序員編著

四、總結

1.本文基于JavaScript基礎,實現限時秒殺、定時跳轉、改變盒子大小的功能。對每一個div層進行詳解,讓讀者更好的理解。

2.在JavaScript中,實現限時秒殺、定時跳轉案例主要幫助理解定時器的使用,改變盒子大小案例主要是幫助理解如何去修改顯示的內容、CSS樣式操作。

3.代碼沒有那么復雜,希望對你有所幫助!

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/270724.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/270724.shtml
英文地址,請注明出處:http://en.pswp.cn/news/270724.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

安裝SQL提示重啟電腦失敗,解決辦法

1. 打開注冊表&#xff0c; 找到HKEY_LOCAL_MACHINE-->software-->Microsof-->MSSQLServer...統統刪掉 2.HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager目錄&#xff0c;在右側找到PendingFileRenameOperations。刪除。 重啟電腦&#xff0c;…

華為的鴻蒙系統是海思_死心了!華為鴻蒙系統首款終端確認,不是手機

歡迎點擊上面ZAKER關注5 月底谷歌宣布斷供華為。隨后&#xff0c;華為 " 秘密 " 研發 7 年的自主產權操作系統鴻蒙被公之于眾。隨著關于鴻蒙系統的消息越來越多&#xff0c;如鴻蒙系統 2012 年便開始規劃、鴻蒙系統在多個國家注冊商標等。人們除了佩服華為的未雨綢繆…

網絡知識:寬帶下載網速是30MB/s,經過路由器后僅10MB/s,看完你就懂了

問題&#xff1a;寬帶下載網速本是30MB/s&#xff0c;經過路由器后速度僅10MB/s&#xff0c;這是為什么&#xff1f; 寬帶下載測速可以到30MB/s&#xff0c;說明外線和光貓還有電腦是沒有問題的。目前家庭的組網基本都是光纖入戶了&#xff0c;你的測速瓶頸既然不在光貓&#…

手機投屏到電腦的5種方式,你學到了嗎

今天小編給大家分享5種手機投屏到電腦的方式&#xff0c;希望對大家能有幫助&#xff01; 方法一&#xff1a; 1、我們可以通過Win10自帶的投影功能&#xff0c;將我們的手機和電腦連接同一個無線網絡。 2、接下來我們就在電腦開始菜單欄里找到設置選項打開。 3、我們進入之后找…

poj 3728 Catch That Cow ([kuangbin帶你飛]專題一 簡單搜索)

題目大意&#xff1a;題目鏈接 就是給你N&#xff0c;K&#xff0c;每次有三種慚怍1&#xff0c;-1&#xff0c;*2&#xff0c;&#xff0c;問多少次操作能到K 解題思路&#xff0c;搜索直接算&#xff0c;。&#xff0c;&#xff0c;&#xff0c;哎&#xff0c;啥時候這種垃圾…

不攔截指定路徑_控制層訪問攔截

在控制層進行訪問攔截也是我們在項目中常會遇到的需求,例如:項目中要求系統登錄操作有時間限制--12306購票時間的限制等.對于這類需求我們一般有幾種選擇:過濾器FilterAOPSpringMVC攔截器...本文我們主要說一下SpringMVC攔截器的實現原理Spring MVC的攔截器是基于回調機制,可以…

電腦知識:Win10系統把系統盤的軟件移到D盤的簡單方法

??作者主頁&#xff1a;IT技術分享社區 ??作者簡介&#xff1a;大家好,我是IT技術分享社區的博主&#xff0c;從事C#、Java開發九年&#xff0c;對數據庫、C#、Java、前端、運維、電腦技巧等經驗豐富。 ??個人榮譽&#xff1a; 數據庫領域優質創作者&#x1f3c6;&#x…

RuntimeException和Exception區別

Exception &#xff1a;受檢查的異常&#xff0c;這種異常是強制我們catch或throw的異常。你遇到這種異常必須進行catch或throw&#xff0c;如果不處理&#xff0c;編譯器會報錯。比如&#xff1a;IOException。 RuntimeException&#xff1a;運行時異常&#xff0c;這種異常我…

語言高精度算法階乘_JavaScript中的算法(附10道面試常見算法題解決方法和思路)...

https://juejin.im/post/6844903811505455118Introduction面試過程通常從最初的電話面試開始&#xff0c;然后是現場面試&#xff0c;檢查編程技能和文化契合度。幾乎毫無例外&#xff0c;最終的決定因素是還是編碼能力。通常上&#xff0c;不僅僅要求能得到正確的答案&#xf…

硬件:LCD和LED相關知識介紹

目錄 一、LCD簡介 二、LED簡介 三、LED和 LCD的區別 四、LED和 LCD顯示器的區別 一、LCD簡介 LCD是液晶顯示屏(Liquid Crystal)Display的全稱&#xff0c;主要有TFT、UFB、TFD、STN等幾種類型的液晶顯示屏無法定位程序輸入點于動態鏈接庫上。 筆記本液晶屏最常用的是TFT。 TFT…

Swagger+AutoRest 生成web api客戶端(.Net)

簡介 對于.net來說&#xff0c;用web api來構建服務是一個不錯的選擇&#xff0c;都是http請求&#xff0c;調用簡單&#xff0c;但是如果真的要在程序中調用&#xff0c;則還有些工作要做&#xff0c;比如我們需要手寫httpClient調用&#xff0c;并映射Model&#xff0c; 如果…

抽象方法和抽象類

抽象方法&#xff1a; 1、從上面的例子中我們可以看到抽象方法跟普通方法是有區別的&#xff0c;它沒有自己的主體&#xff08;沒有{}包起來的 業務邏輯&#xff09;&#xff0c;跟接口中的方法有點類似。所以我們沒法直接調用抽象方法 2、抽象方法不能用private修飾&#xf…

adb logcat 保存_保存的logcat在Android設備上的文本文件

I had found some crashes while running the application in android device, which is not showing in emulator. So i need to save the Logcat in a text file in my devices memory or SD card. Could you please suggest me good method to do this?解決方案adb shell l…

電腦技巧:六款Mac電腦上值得推薦的看圖軟件

??作者主頁&#xff1a;IT技術分享社區 ??作者簡介&#xff1a;大家好,我是IT技術分享社區的博主&#xff0c;從事C#、Java開發九年&#xff0c;對數據庫、C#、Java、前端、運維、電腦技巧等經驗豐富。 ??個人榮譽&#xff1a; 數據庫領域優質創作者&#x1f3c6;&#x…

C#用Zlib壓縮或解壓縮字節數組

/// <summary>/// 復制流/// </summary>/// <param name"input">原始流</param>/// <param name"output">目標流</param>public static void CopyStream(System.IO.Stream input, System.IO.Stream output){byte[] bu…

Git的smart Checkout\force checkout\Don‘t Checkout的區別

我們在develop分支修改了代碼,但是沒有commit,所以在切換到其他分支的時候回彈出這個窗口. smart checkout就會把沖突的這部分內容帶到目的分支&#xff08;如果你沒有點進窗口的那些文件處理沖突的話&#xff09; force checkout就不會把沖突的這部分內容帶到目的分支 dont ch…

軟件:推薦5款職場人必備的效率神器APP

目錄 1.番茄TO DO&#xff08;支持Android、ios端下載&#xff09; 2.塊時間 &#xff08;支持Android、ios端下載&#xff09; 3.滴答清單&#xff08;支持Android、ios端、PC端下載&#xff09; 4.Eventai&#xff08;僅ios端下載&#xff09; 5.Ihour&#xff08;支持Androi…

python滾動文本框_調整滾動Tkinter文本框的大小

我想要一個滾動的Tkinter文本框來填充最大的分配空間。我有點工作。。。在由于某些原因&#xff0c;當我拉伸窗口時&#xff0c;文本小部件很好&#xff1b;但是&#xff0c;滾動條在x軸上有大量的填充。在第二個問題是當我縮小窗口時&#xff0c;屏幕上的滾動條消失了。在有人…