拍卖倒计时
2015-08-16 16:01
232 查看
总结:最近进行的一项Web拍卖软件。核心拍卖最关键的是实时竞价,这里使用微软的 ASP.NET SignalR 要显示实时竞价。
类似于京东的夺宝岛,淘宝的拍卖,每个商品都有自己的倒计时,和我做这个拍卖的倒计时的原理和思路是一样的
1. server端 得到 离开拍或者结束的 TotalSecond(总秒数)
2. client 得到总秒数,利用javascript 里面的 setInterval 每秒进行递减,直到减到0为止
从server得到每个商品的总秒数就不用再讲了。我们如今仅仅关注client,我们的开发环境是 Asp.net Mvc5
我直接粘代码
@{
ViewBag.Title = "List Item";
int salesId = ViewBag.SalesID;
}
@model IEnumerable<Auction.ViewModels.VMB_Item>
<div class="row">
<div class="col-md-12">
<div id="itemListTable"></div>
<div class="row">
@foreach (var item in Model)
{
<div class="col-xs-3" style="margin-top:5px;margin-left:5px">
<div class="container" style="text-align:center">
<hr />
<div class="time-item">
<span id=@("day_show"+item.ItemID)>0 day</span>
<strong id=@("hour_show" + item.ItemID)>0 :</strong>
<strong id=@("minute_show" + item.ItemID)>0 :</strong>
<strong id=@("second_show" + item.ItemID)>0 </strong>
</div>
<button type="button" class="btn btn-danger" data-toggle="button" onclick="getItembyID('@item.ItemID')">Follow</button>
<button type="button" class="btn btn-danger" data-toggle="button" onclick="addWatchItem('@item.ItemID')">WATCH</button>
</div>
</div>
<script type="text/javascript">
///倒计时
$(function () {
var totalSeconds = @((item.EndTime-DateTime.Now).TotalSeconds);
var intDiff = parseInt(totalSeconds);//倒计时总秒数量
timer(intDiff,@item.ItemID);
});
</script>
}
</div>
</div>
</div>
<script type="text/javascript">
function timer(intDiff,itemid) {
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"+itemid).html(day + " day");
$('#hour_show'+itemid).html('<s id="h"></s>' + hour + ':');
$('#minute_show'+itemid).html('<s></s>' + minute + ':');
$('#second_show'+itemid).html('<s></s>' + second + '');
intDiff--;
}, 1000);
}
</script>
类似于京东的夺宝岛,淘宝的拍卖,每个商品都有自己的倒计时,和我做这个拍卖的倒计时的原理和思路是一样的
1. server端 得到 离开拍或者结束的 TotalSecond(总秒数)
2. client 得到总秒数,利用javascript 里面的 setInterval 每秒进行递减,直到减到0为止
从server得到每个商品的总秒数就不用再讲了。我们如今仅仅关注client,我们的开发环境是 Asp.net Mvc5
我直接粘代码
@{
ViewBag.Title = "List Item";
int salesId = ViewBag.SalesID;
}
@model IEnumerable<Auction.ViewModels.VMB_Item>
<div class="row">
<div class="col-md-12">
<div id="itemListTable"></div>
<div class="row">
@foreach (var item in Model)
{
<div class="col-xs-3" style="margin-top:5px;margin-left:5px">
<div class="container" style="text-align:center">
<hr />
<div class="time-item">
<span id=@("day_show"+item.ItemID)>0 day</span>
<strong id=@("hour_show" + item.ItemID)>0 :</strong>
<strong id=@("minute_show" + item.ItemID)>0 :</strong>
<strong id=@("second_show" + item.ItemID)>0 </strong>
</div>
<button type="button" class="btn btn-danger" data-toggle="button" onclick="getItembyID('@item.ItemID')">Follow</button>
<button type="button" class="btn btn-danger" data-toggle="button" onclick="addWatchItem('@item.ItemID')">WATCH</button>
</div>
</div>
<script type="text/javascript">
///倒计时
$(function () {
var totalSeconds = @((item.EndTime-DateTime.Now).TotalSeconds);
var intDiff = parseInt(totalSeconds);//倒计时总秒数量
timer(intDiff,@item.ItemID);
});
</script>
}
</div>
</div>
</div>
<script type="text/javascript">
function timer(intDiff,itemid) {
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"+itemid).html(day + " day");
$('#hour_show'+itemid).html('<s id="h"></s>' + hour + ':');
$('#minute_show'+itemid).html('<s></s>' + minute + ':');
$('#second_show'+itemid).html('<s></s>' + second + '');
intDiff--;
}, 1000);
}
</script>
相关文章推荐
- HDU 5380 Travel with candy (单调队列&贪心)
- 学习驱动开发,这几个论坛值得经常看看
- Http协议
- 【机房收费系统】组合查询
- const的用法
- python的二分查找实现
- android jar包方式获取资源
- 使用C语言详解霍夫曼树数据结构
- 产品扫描装箱打印系统
- Android-通过网络获取xml文件使用pull解析得到服务器中的信息(新闻客户端)
- C++基础---数组的用途
- POJ 3126-Prime Path(BFS)
- IOS- 笔记2(闭包应用例)
- 黑马程序员-----java基础之构造方法
- php:文件系统②
- 【日常学习】【划分DP】codevs1017 乘积最大题解
- hadoop的安全模式
- 编写高质量代码改善C#程序的157个建议——建议51:具有可释放字段的类型或拥有本机资源的类型应该是可释放的
- 黑马程序员 环境的配置问题
- hdu 5389 Zero Escape DP+数学规律 给出证明 2015 Multi-University Training Contest 8