JavaScript实现京东秒杀效果

本文实例为大家分享了JavaScript实现京东秒杀效果的具体代码,供大家参考,具体内容如下

首先先利用html和css搭出架子:

* {
            margin: 0;
            padding: 0;
        }

        .box {
            width: 190px;
            height: 270px;
            color: #fff;
            text-align: center;
            margin: 100px auto;
            background-color: #d00;
            padding-top: 40px;
            box-sizing: border-box;
        }

        .box>h3 {
            font-size: 26px;
        }

        .box>p:nth-of-type(1) {
            color: rgba(255, 255, 255, .5);
            margin-top: 5px;
        }

        .box>i {
            display: inline-block;
            margin-top: 5px;
            margin-bottom: 5px;
            font-size: 40px;
        }

        .box>.time {
            display: flex;
            justify-content: center;
            margin-top: 10px;
        }

        .time>div {
            width: 40px;
            height: 40px;
            background: #333;
            line-height: 40px;
            text-align: center;
            font-weight: 700;
            position: relative;
        }

        .time>div::before {
            content: "";
            display: block;
            width: 100%;
            height: 2px;
            background: #d00;
            position: absolute;
            left: 0;
            top: 50%;
            transform: translateY(-50%);
        }

        .time>.minute {
            margin: 0 10px;
}
<div class="box">
        <h3>京东秒杀</h3>
        <p>FLASH DEALS</p>
        <i class="iconfont icon-lightningbshandian"></i>
        <p>本场距离结束还剩</p>
        <div class="time">
            <div class="hour">00</div>
            <div class="minute">00</div>
            <div class="second">00</div>
        </div>
 </div>

再来设计其逻辑部分:

获取相关元素

定义一个处理两个时间差的函数,需要注意的是对于小时、分钟、秒钟如果小于10,那么应该在前面添加“0”来占位,最后利用对象的形式将其返回

为了实现其一个动态的效果,我们可以利用setInterval(),将获取到的时分秒全部放入进去,使其每隔一秒就变化一次

为了用户一打开就能看到效果,我们可以将获取到的时分秒封装到一个函数里,在setInterval()里和外直接调用函数即可实现

//1.获取需要操作的元素
const oHour = document.querySelector(".hour");
const oMinute = document.querySelector(".minute");
const oSecond = document.querySelector(".second");

//2.处理时间差
 const remDate = new Date("2021-10-28 23:59:59");

        setTime(remDate);

        //开启定时器
        setInterval(function() {
            setTime(remDate);
        }, 1000);

        //为了让用户一进来就看得到效果,而不是先是三个00
        // 我们可以对其进行封装处理
        function setTime(remDate) {
            const obj = getDifferTime(remDate);
            // console.log(obj);

            //3.将差值设置给元素
            oHour.innerText = obj.hour;
            oMinute.innerText = obj.minute;
            oSecond.innerText = obj.second;
        }

        function getDifferTime(remDate, curDate = new Date()) {
            //1.得到两个时间之间的差值(毫秒)
            const differTime = remDate - curDate;

            //2.得到两个时间之间的差值(秒 )
            const differSecond = differTime / 1000;

            //3.利用相差的总秒数 / 每一天的秒数 = 相差的天数
            let day = Math.floor(differSecond / (60 * 60 * 24));
            day = day >= 10 ? day : "0" + day;

            //4.利用相差的总秒数 / 小时 % 24
            let hour = Math.floor(differSecond / (60 * 60) % 24);
            hour = hour >= 10 ? hour : "0" + hour;

            //5.利用相差的总秒数 / 分钟 % 60
            let minute = Math.floor(differSecond / 60 % 60);
            minute = minute >= 10 ? minute : "0" + minute;

            // 6.利用相差的总秒数 % 秒数
            let second = Math.floor(differSecond % 60);
            second = second >= 10 ? second : "0" + second;

            return {
                day: day,
                hour: hour,
                minute: minute,
                second: second,
            }
        }

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • PHP+JS实现的商品秒杀倒计时用法示例

    本文实例讲述了PHP+JS实现的商品秒杀倒计时用法.分享给大家供大家参考,具体如下: <?php //php的时间是以秒算.js的时间以毫秒算 date_default_timezone_set('PRC'); //date_default_timezone_set("Asia/Hong_Kong");//地区 //配置每天的活动时间段 $starttimestr = "2016-3-29 8:10:00"; $endtimestr = "2016-

  • 如何利用 JS 脚本实现网页全自动秒杀抢购功能

    倒计时页面: 倒计时未结束时,购买按钮还不能点击. 结束时,可以点击购买,点击后出现提示"付款成功" 展示效果 GIF 1.制作测试网页 首先我们来做一个简易的抢购页面 <!DOCTYPE html> <html lang="zh_CN"> <head> <meta charset="UTF-8"> <title>Apple</title> <style type=&q

  • Javascript实现商品秒杀倒计时(时间与服务器时间同步)

    现在有很多网站都在做秒杀商品,而这其中有一个很重要的环节就是倒计时. 关于倒计时,有下面几点需要注意: 1.应该使用服务器时间而不是本地时间(本地时间存在时区不同.用户自行设置等问题). 2.要考虑网络传输的耗时. 3.获取时间时可直接从AJAX的响应头中读取(通过getResponseHeader('Date')来获得),服务器端不需要专门写时间生成脚本. 过程分析: 1.从服务器读到一个时间戳之后便开始计时,不考虑网络传输的耗时: 图中的各项标注分别是(上面的时间线采用标准时间,与服务器和页

  • js实现京东秒杀倒计时功能

    本文实例为大家分享了js实现京东秒杀倒计时功能的具体代码,供大家参考,具体内容如下 首先给大家看看效果图,因为是做的移动端的,所以放大给大家看看局部就行: 关于实现京东秒杀,之前用过其他的方法,今天给大家分享一个原生的方法吧,不会很难. 1.倒计时页面结构: <div class="secondkill"> <div class="top"> <span class="red fl">掌上秒杀</span

  • JavaScript仿京东秒杀倒计时

    本文实例为大家分享了JavaScript仿京东秒杀倒计时的具体代码,供大家参考,具体内容如下 仿京东秒杀倒计时 html代码 <div id="box"> <div class="txt">秒杀倒计时</div> <div class="hour"></div> <!-- 小时与分钟之间的冒号 --> <span class="h_m">:&l

  • JS脚本实现网页自动秒杀点击

    我们先来看下秒杀活动页面代码 <!DOCTYPE HTML> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=gb2312"> <title> Micomo </title> </head> <body> <div> <p> 活动倒计时<str

  • JS实现商城秒杀倒计时功能(动态设置秒杀时间)

    一年一度的双十二如期而至,今天的你买买买了吗,下面小编给大家分享一个动态秒杀倒计时功能. 效果图 <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title></title> </head> <body> <div id="noStart">活动未开始</div> <div clas

  • JS实现秒杀倒计时特效

    本文实例为大家分享了JS实现秒杀倒计时特效的具体代码,供大家参考,具体内容如下 知识点 添加一个定时器,对时间标签不断进行更新设置即可. 引入工具库工具库 运行效果 代码 引入MyTool.js <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> <style> div

  • JavaScript实现京东秒杀效果

    本文实例为大家分享了JavaScript实现京东秒杀效果的具体代码,供大家参考,具体内容如下 首先先利用html和css搭出架子: * { margin: 0; padding: 0; } .box { width: 190px; height: 270px; color: #fff; text-align: center; margin: 100px auto; background-color: #d00; padding-top: 40px; box-sizing: border-box;

  • Android通过实现GridView的横向滚动实现仿京东秒杀效果

    实现GridView的横向滚动 效果如下图: 具体实现的代码 •1. 主界面布局代码:activity_main.xml <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent"

  • JavaScript仿京东放大镜效果

    本文实例为大家分享了JavaScript实现京东放大镜效果的具体代码,供大家参考,具体内容如下 案例分析 整个案例可以分为三个功能模块 鼠标经过小图片盒子, 黄色的遮挡层 和 大图片盒子显示,离开隐藏2个盒子功能 黄色的遮挡层跟随鼠标功能. 移动黄色遮挡层,大图片跟随移动功能. 鼠标经过小图片盒子, 黄色的遮挡层 和 大图片盒子显示,离开隐藏2个盒子功能 就是显示与隐藏 移动黄色遮挡层,大图片跟随移动功能,大图片的移动距离要跟黄色遮挡层的比例相等. 求大图片的移动距离公式 代码 <!DOCTYP

  • JavaScript实现京东放大镜效果

    本文实例为大家分享了JavaScript实现京东放大镜展示的具体代码,供大家参考,具体内容如下 实现效果: 1.鼠标放到图片上显示放大镜和详细图,鼠标离开时什么都不显示(效果消失) 2.鼠标一直在放大镜的中间,且放大镜随鼠标移动 3.放大镜不能出缩列图的盒子 4.鼠标放在详细图上详细图消失 实现细节: 1.大盒子虽然比详细图的盒子宽度小,但是在逻辑上详细图的盒子属于大盒子  2.详细图不能使用浮动,因为盒子下面一般会有文字内容  3.以父盒子来定位详细图的盒子  4.放大镜鼠标选中为十字形  5

  • JavaScript实现京东购物放大镜和选项卡效果的方法分析

    本文实例讲述了JavaScript实现京东购物放大镜和选项卡效果的方法.分享给大家供大家参考,具体如下: 购物网站点击商品后,都会有一个查看物品图片,并且可以放大仔细观察物品的功能.这个功能看起来复杂,其实实现起来非常简单.下面我们来一起做这个小效果吧! 首先,我们看一下页面的布局: 1.小图片显示区,上面有一个方形遮罩层 2.缩略图横向列表 3.大图显示区域 然后,我们写出开发步骤: 1.编写3个区域的html布局,使他们位于同一个容器内 2.显示区域2的图片列表 3.给区域2的图片添加mou

  • JavaScript仿京东实现秒杀倒计时案例详解

    功能介绍: 1.这个倒计时是不断变化的,因此需要定时器来自动变化(setInterval) 2.三个黑色的盒子,分别存放时.分秒 3.三个盒子利用innerHTML存入倒计时 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content=&quo

  • 利用JavaScript实现仿京东放大镜效果

    功能实现 1.鼠标经过小图片盒子,黄色的遮挡层和大图片显示,离开时就隐藏2个盒子功能 2.黄色遮挡层跟着鼠标走 把鼠标的坐标给盒子,不断地进行赋值操作 把鼠标地坐标给遮挡层不合适,因为遮挡层坐标以父盒子为准 首先是获得鼠标在盒子内地坐标 然后把数值给遮挡层地left和top值 此时用到鼠标移动事件,但是还是在小图片盒子内移动 发现,遮挡层位置不对,需要再减去盒子自身高度和宽度地一半 遮挡层不能超出小图片盒子范围 如果小于0,就把坐标设置为0 如果大于遮挡层最大地移动距离,就把坐标设置为最大地移动

  • 利用JavaScript模拟京东快递单号查询效果

    1.上面放大框开始是隐藏的,当输入单号后,就显示,并且里面的内容是输入框的内容的字体的放大 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="vi

  • JavaScript模拟实现"双11"限时秒杀效果

    目录 [案例]限时秒杀 一.全局作用域 二.弹出对话框和窗口 prompt()方法 confirm()方法 open()方法 三.窗口位置和大小 四.框架操作 五.定时器 [案例]限时秒杀 代码实现思路: ① 设计限时秒杀页面. ② 指定限时秒杀的结束时间,及其对应的毫秒数. ③ 获取当前时间的毫秒数. ④ 计算当前与秒杀结束的时间差,大于0,计算剩余的天时分秒:否则结束秒杀. ⑤ 利用定时器完成秒杀的倒计时功能. ⑥ 利用两位数字显示秒杀的时间. 代码实现 <!DOCTYPE html> &

随机推荐