您好,登錄后才能下訂單哦!
今天就跟大家聊聊有關JavaScript中如何實現限時秒殺和定時跳轉以及改變盒子大小,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結了以下內容,希望大家根據這篇文章可以有所收獲。
前言
今天來給大家盤點三個JavaScript案例,分別是實現限時秒殺、定時跳轉、改變盒子大小案例,一起來看看吧!
1.在淘寶網中,商家為了促銷經常搞一些活動,例如限時秒殺是常見的一種活動,來增加消費者購買商品。
2.實現限時秒殺案例,具體代碼如下所示:
<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分別表示剩余的天數、小時、分鐘、秒數。
*{ 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表示中間。
//設置秒殺結束時間 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.實現定時跳轉案例,具體代碼如下所示:
<div style="text-align: center;"> <h2>定時跳轉</h2> <a href="https://www.baidu.com/"> <span id="sec">5</span>秒后自動跳轉頁面或點擊鏈接跳轉 </a> </div>
在上面代碼中,實現簡單的頁面布局,h2標簽表示大標題,a標簽表示定義超鏈接,span是行內元素。
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.實現改變盒子大小的案例,具體代碼如下所示:
<div id="box" style="width:100px;height:100px;background:burlywood;">點我發生變化</div>
在上面代碼中,實現一個寬和高為100px的div,id為box。
//獲取指定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中,實現限時秒殺、定時跳轉案例主要幫助理解定時器的使用,改變盒子大小案例主要是幫助理解如何去修改顯示的內容、CSS樣式操作。
看完上述內容,你們對JavaScript中如何實現限時秒殺和定時跳轉以及改變盒子大小有進一步的了解嗎?如果還想了解更多知識或者相關內容,請關注億速云行業資訊頻道,感謝大家的支持。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。