栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > Web开发 > JavaScript

JavaScript高仿支付宝倒计时页面及代码实现

JavaScript 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

JavaScript高仿支付宝倒计时页面及代码实现

实现目标

一,页面在图一时开始进行倒计时(可以点击取消订单按钮,支付页面消失)。

二,倒计时完毕,出现删除订单。

三,单击删除订单,弹出弹框,询问是否要真正删除订单。

四,单击确定,即可删除订单。

如上图所示效果展示,这里给出所有的源代码(如需运行,只需要修改EJS文件中引入的CSS路径和JS路径即可).
这个页面其实是自己业余时间,写的东西。

但是里面涉及到,倒计时,弹框,以及字体图(可以参照“如何制作字体图”章节)的相关知识。

这里分享出来,希望大家能从中学到自己想要的知识。

代码很丑,但是基本效果都已经实现。

JS代码

order_detail.js

$(function () { //加载完DOM的只执行函数 
var intDiff = parseInt(60); //倒计时总秒数量
function timer(intDiff) {
window.setInterval(function () {
var day = 0,
hour = 0,
minute = 0,
second = 0;//时间默认值
if (intDiff > 0) {
//计算相关的天,小时,还有分钟,以及秒
day = Math.floor(intDiff / (60 * 60 * 24)); 
hour = Math.floor(intDiff / (60 * 60)) - (day * 24);
minute = Math.floor(intDiff / 60) - (day * 24 * 60) - (hour * 60);
second = Math.floor(intDiff) - (day * 24 * 60 * 60) - (hour * 60 * 60) - (minute * 60);
}
if (minute <= 9) minute = '0' + minute;
if (second <= 9) second = '0' + second;
$('#day_show').html(day + "天");
$('#hour_show').html('' + hour + '时');
$('#minute_show').html('' + minute + '分');
$('#second_show').html('' + second + '秒');
intDiff--;
}, 1000);
//循环函数,是时钟运动起来
setInterval(function(){
if($('#minute_show').text() =='00分' && $('#second_show').text() =='00秒'){
$('.pay-immediately-count').remove();
$('.cancle-order').remove();
$('.del-order').show();
clearInterval();
}
},1000)
//下面三个是跳转链接,本来是在node工程里面的路由配置的,这里大家可以换成自己的链接
$("#dingdan").click(function () {
location.href = "/hotel/order"; //这里跳转的是路由的路径
});
$("#mengdian").click(function () {
location.href = "/hotel"; //这里跳转的是路由的路径
});
$(".set-detail").click(function () {
location.href = "/hotel/detail"; //这里跳转的是路由的路径
});
//这里都是一些单击事件

$('.del-order').click(function(){
$(".arrow_mask").show();
$(".cancel-order-dialog").show()
})

$(".cancle-order-btn").click(function(){
$(".cancel-order-dialog").hide();
$(".arrow_mask").hide();
});

$(".certain-order").click(function(){
$(".section-first").remove();
$(".cancel-order-dialog").remove();
$(".arrow_mask").remove();
$(".footer").css({"position":"fixed"});
});

$(".cancle-order").click(function(){
$(".section-first").remove();
$(".footer").css({"position":"fixed"});
});
}
//执行上面的函数
$(function () {
timer(intDiff);
});
});
HTML页面
order_detail.html











 
 




 





  • 订房状态 2015-6-26 11:14:17
  • 订单号: A23456623
  • 订单总额: ¥98
  • 订单状态: 处理中
  • 支付状态: 线上支付 未支付
  • 立即支付 还剩 0分 0秒 取消订单 删除订单
入住信息
  • 入住时间: 6月25日-6月26日 共1晚
  • 房间类型: 标准间 1间
  • 预订人: 马优晨 1500070188
  • 特殊要求: 房间整洁干净
酒店信息
    国际商务酒店(上海长江南路店) 酒店详情 021-7893829878 联系我 宝山区逸仙路2816号华滋奔腾大厦A栋14楼 地图
你确定要取消该订单吗? 取消 确定 门店 我的订单12 CSS代码 order_detail.css body{ background: #eeeeee; } .date-head{ width:100%; } .date-head-statue{ width:100%; font-size:14px; border-radius:4px; padding-left:15px; padding-right:15px; } .date-head-state{ background: #fff; height: 240px; border-radius: 10px; margin-top: 16px; padding-top: 14px; position: relative; } .reservation-status,.order-number,.total-order,.order-status,.payment-status,.pay-immediately,.pay-immediately-count{ display: -moz-box; -moz-box-orient: horizontal; display: -webkit-box; -webkit-box-orient: horizontal; } .order-number,.total-order,.order-status,.payment-status{ margin-top: 10px; } .pay-immediately{ position: absolute; bottom: 0px; width: 100%; } .space-underline { border-bottom: 1px solid #999999; -webkit-border-image: url(../../images/hotel/border.gif) 1 stretch; -webkit-transform:scaleY(0.2); -moz-transform:scaleY(0.2); -o-transform:scaleY(0.2); } .reservation-status div:nth-of-type(2){ position: absolute; right: 0px; margin-right: 90px; color: #999999; } .reservation-status div:nth-of-type(3){ position: absolute; right: 0px; margin-right: 26px; color: #999999; } .order-number div:nth-of-type(2),.total-order div:nth-of-type(2),.order-status div:nth-of-type(2),.payment-status div:nth-of-type(2) { position: absolute; left: 0px; margin-left: 130px; } .reservation-status,.order-number ,.total-order ,.order-status,.payment-status{ padding-left: 12px; } .payment-status div:nth-of-type(3) { position: absolute; left: 0px; margin-left: 200px; color: #1c94f7; } .cancel-order{ width: 100%; } .pay-immediately div:nth-of-type(1){ width: 70%; background: #1c94f7; height: 40px; line-height: 40px; text-align: center; border-radius: 0px 0px 0px 10px; color: #ffffff; paddingleft: 20p; padding-left: 20px; white-space: nowrap; } .pay-immediately div:nth-of-type(2){ width: 30%; height: 40px; background: #097bd9; boder-radus: 5px; line-height: 40px; text-align: center; border-radius: 0px 0px 10px 0px; color: #ffffff; } .wide-space_line { height: 30px; width: 100%; background: #eeeeee; text-align: center; } .wide-space_line div:nth-of-type(1) { margin-top: 7px; position: absolute; left: 0px; margin-left: 16px; font-size: 15px; color: #999999; } .total-order div:nth-of-type(2){ color:#ff5e38; font-size: 16px; font-weight: bold; } .order-status div:nth-of-type(2){ color: #1c94f7; } .check-in-time,.room-type,.booking-person,.special-requirements{ display: -moz-box; -moz-box-orient: horizontal; display: -webkit-box; -webkit-box-orient: horizontal; margin-left: 16px; } .check-in-time div:nth-of-type(1),.room-type div:nth-of-type(1),.booking-person div:nth-of-type(1),.special-requirements div:nth-of-type(1){ color: #999999; } .check-in-time div:nth-of-type(2),.room-type div:nth-of-type(2),.booking-person div:nth-of-type(2),.special-requirements div:nth-of-type(2){ color: #333; position: absolute; left: 0px; margin-left: 98px; } .check-in-time div:nth-of-type(3){ color: #333; position: absolute; left: 0px; margin-left: 222px; } .room-type div:nth-of-type(3){ color: #333; position: absolute; left: 0px; margin-left: 152px; } .booking-person div:nth-of-type(3){ color: #333; position: absolute; left: 0px; margin-left: 152px; } .check-information{ background: #ffffff; height: 128px; } .check-in-time{ padding-top: 10px; margin-top: 10px; } .room-type,.booking-person,.special-requirements{ padding-top: 10px; } .section-body .set-detail,.section-body .set-detail-number,.section-body .set-detail-address{ display: -moz-box; -moz-box-orient: horizontal; display: -webkit-box; -webkit-box-orient: horizontal; margin-left: 10px; } .set-detail,.set-detail-number{ padding-top: 13px; padding-bottom: 13px; text-align: center; } .set-detail-address{ padding-top: 10px; padding-bottom: 10px; text-align: center; } @font-face{ font-family:"font-name-icon"; src:url("../../fonts/icomoon.ttf") format("truetype"), url("../../fonts/icomoon.eot?#iefix") format("embedded-opentype"), url("../../fonts/icomoon.woff") format("woff"), url("../../fonts/icomoon.svg") format("svg"); font-weight:normal; font-style:normal; } .font-name-icon{ font-family: "font-name-icon"; font-weight: normal; font-style: normal; font-size: 15px; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; } .first-icon{ color: #999999; } .second-icon{ margin-left: 5px; } .set-text-button{ position: absolute; right: 0px; margin-right: 24px; font-size: 14px; color: #1c94f7; } .greater-number { position: absolute; right: 0; margin-right: 10px; margin-top: 4px; display: inline-block; width: 8px; height: 8px; border-top: 1px solid #999; border-right: 1px solid #999; -webkit-transform: rotate(45deg); -moz-transform: rotate(45deg); -o-transform: rotate(45deg); } .greater-number-bottom{ position: absolute; right: 0; margin-right: 10px; margin-top: 7px; display: inline-block; width: 4px; height: 8px; border-top: 1px solid #999; border-right: 1px solid #999; -webkit-transform: rotate(45deg); -moz-transform: rotate(45deg); -o-transform: rotate(45deg); } .set-detail,.set-detail-number{ padding-top: 13px; padding-bottom: 13px; text-align: center; } .set-text-detail{ margin-left: 10px; font-size: 13px; } .set-text-detail2 .aa{ margin-left: 15px; font-size: 13px; color: #333333; } .set-detail-address{ padding-top: 10px; padding-bottom: 10px; text-align: center; } .set-text-shut{ white-space: nowrap; text-overflow: ellipsis; overflow: hidden; width: 221px; } .set-text-button{ position: absolute; right: 0px; margin-right: 24px; font-size: 14px; color: #1c94f7; } .set-text-button .bb{ color: #1c94f7; } .space_line{ height: 10px; width: 100%; background: #eeeeee; } .section-body{ background: #ffffff; } .footer{ display: -moz-box; -moz-box-orient: horizontal; display: -webkit-box; -webkit-box-orient: horizontal; } .greater-number-bottom{ position: absolute; right: 0; margin-right: 10px; margin-top: 6px; display: inline-block; width: 8px; height: 8px; border-top: 1px solid #999; border-right: 1px solid #999; -webkit-transform: rotate(45deg); -moz-transform: rotate(45deg); -o-transform: rotate(45deg); } .ellipse{ width: 26px; height: 18px; display: block; border-radius: 8px; background: #1c94f7; color: #ffffff; position: absolute; right: 0px; margin-right: 18px; margin-top: -17px; padding-right: 6px; font-size: 10px; text-align: center; line-height: 18px; } .footer{ display: -moz-box; -moz-box-orient: horizontal; display: -webkit-box; -webkit-box-orient: horizontal; position: relative; bottom: 0px; width: 100%; height: 40px; margin-top: 50px; } .footer div:nth-of-type(1){ padding-top: 11px; width: 50%; border-right: 1px solid #eeeeee; background-color: white; text-align: center; } .footer div:nth-of-type(2){ padding-top: 12px; width: 50%; padding-left: 28px; background-color: white; } .footer span{ padding-left: 5px; } .pay-immediately div:nth-of-type(3){ display: none; } .time-item { background: #C71C60; color: #fff; line-height: 40px; font-size: 14px; font-family: Arial; padding: 0 10px; border-radius: 5px; } #day_show { float:left; line-height:40px; color:#ffffff; font-size:14px; margin:0 10px; font-family:Arial,Helvetica,sans-serif; } .item-title .unit { background:none; line-height:40px; font-size:14px; padding:0 10px; float:left; } .pay-immediately-count-num{ display: -moz-box; -moz-box-orient: horizontal; display: -webkit-box; -webkit-box-orient: horizontal; } .del-order{ display: none; text-align: center; background: #999999; height: 40px; border-radius: 0px 0px 10px 10px; position: absolute; bottom: 0px; width: 100%; color: #fff; line-height: 40px; } //取消按钮弹出的对话框 .arrow_mask { position: absolute; top: 0; left: 0; bottom: 0; right: 0; z-index: 1; background: #333333; opacity: 0.55; display: none; } .cancel-order-dialog{ display: none; width: 260px; height: 206px; background: #fff; border-radius: 6px; position: absolute; top: 0px; margin-top: 200px; left: 50%; margin-left: -130px; z-index: 1; padding-top: 33px; } .cancel-dialog div:nth-of-type(1){ text-align: center; } .cancel-dialog-btn{ display: -moz-box; -moz-box-orient: horizontal; display: -webkit-box; -webkit-box-orient: horizontal; } .cancel-dialog-btn div:nth-of-type(1){ width: 130px; border-right: 1px solid #999; padding: 10px; border-top: 1px solid #999; } .cancel-dialog-btn div:nth-of-type(2){ width: 130px; text-align: center; padding: 10px; border-top: 1px solid #999; } .space-underline2 { margin-top: 116px; } .space-underline3 { width: 100%; height: 10px; -webkit-border-image: url(../../images/hotel/border.gif) 1 stretch; -webkit-transform: scaleX(0.2); -moz-transform: scaleX(0.2); } reset.css @charset "utf-8"; *{margin:0;padding:0;-webkit-tap-highlight-color: rgba(0, 0, 0, 0);-webkit-box-sizing: border-box;-moz-box-sizing: border-box;} html { min-height: 100%; font-size: 100%; -webkit-text-size-adjust: 100%; -ms-text-size-adjust: 100%; } body { width: 100%; min-height: 100%; font-family:"Microsoft YaHei","微软雅黑","MicrosoftJhengHei","华文细黑","Helvetica", "Arial", "sans-serif"; font-size: 14px; position: relative; word-break:break-all; } a { text-decoration: none; -webkit-tap-highlight-color: rgba(0, 0, 0, 0.35); -webkit-box-sizing:border-box; } img { -ms-interpolation-mode: bicubic; vertical-align: middle; } img:not([src*="/"]) { display: none; } table { border-collapse: collapse; border-spacing: 0; } textarea { resize: none; } input, button, select, textarea { -webkit-appearance:none; outline: none; border-radius: 0; } input::-webkit-outer-spin-button, input::-webkit-inner-spin-button { -webkit-appearance: none !important; margin: 0; } ul,ol,li { list-style: none; -webkit-margin-before: 0; -webkit-margin-after: 0; -webkit-margin-start: 0; -webkit-margin-end: 0; -webkit-padding-start: 0; } .section-body .text { margin-top: 24px; margin-left: 40px; margin-right: 35px; width: 84%; font-family: "宋体"; font-size: 18px; } .section-body .textImg{ margin-top: 45px; color: blue; text-align: center; vertical-align: middle; }

以上所述是小编给大家介绍的JS制作支付宝倒计时功能,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对考高分网网站的支持!

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/93338.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号