jQuery与日期相关的价格倒计时
jQuery Price Countdown in relation to dates
遗憾的是,我不是jQuery/JavaScript大师,我遇到了一个问题。
简言之,在两次约会之间,一些固定物品的价格会一分钟一分钟地下跌。
例如:
2012 07 25 - $1500 -> 2012 08 01 - $1000
我的问题是,我甚至不知道从哪里开始把它变成实时倒计时。只需要显示价格即可。任何帮助、指示、替代方案都将是巨大的帮助。
多亏了回复,我才得以创建一个解决方案。遗憾的是,Esailija提供的纯JS版本不想工作,但基于此,我能够为此创建一个php/ajax解决方案。是的,我知道这会给服务器带来压力,但JS版本显示了一组全新的数字,这些数字没有在范围内定义,但使用相同公式的php产生了有效的结果。下面你可以找到完整的php代码。
<?php
$dateStart = strtotime("16 july 2012 00:00");
$dateEnd = strtotime("18 july 2012 9:30");
$curDate = strtotime("now");
$startPrice = 3628000;
$endPrice = 3499000;
$progress = ($curDate - $dateStart) / ($dateEnd - $dateStart);
$curPrice = $startPrice - ($startPrice-$endPrice) * $progress;
$curPrice = round($curPrice);
if ($dateStart > $curDate) {
echo $startPrice;
} elseif ($curDate >= $dateEnd) {
echo $endPrice;
} else {
echo $curPrice;
}
?>
获取如下价格:
function getPrice() {
var startDate = Date.UTC(2012,06,25,0,0,0,0),
endDate = Date.UTC(2012,07,01,0,0,0,0),
startPrice = 1500,
endPrice = 1000,
rightNow = +new Date,
progress,
price;
progress = ( rightNow - startDate ) / ( endDate - startDate );
if( progress < 0 ) {
price = startPrice;
}
else if( progress >= 1) {
price = endPrice;
}
else {
price = startPrice - Math.abs(startPrice-endPrice) * progress;
}
}
如果现在小于startDate,则价格为1500。
如果现在大于endDate,则价格为1000
如果现在介于之间,则计算
演示:http://jsfiddle.net/5v4yh/1/
Demo使用2012 07 10 - $1500 -> 2012 07 15 $1000
,因此处于计算阶段
相关文章:
- 创建一个倒计时计时器脚本,该脚本计算声音文件的持续时间,而不是特定的日期
- Javascript-将时区添加到日期倒计时中
- jQuery不同浏览器上的日期倒计时
- 具有可变目标日期的倒计时javascript函数
- jQuery与日期相关的价格倒计时
- 日期和unix时间之间的时间,以及计时器倒计时
- 倒计时日期 - Javascript
- 如何在不刷新浏览器的情况下更新倒计时达到 0 时的日期
- 使用 jquery 的两个日期时间之间的倒计时
- 在 jquery 中从日期中减去变量(倒计时样式)
- 我有一个javascript倒计时,但我需要倒计时才能从我的sql数据库中获取日期
- 周期性倒计时计时器,每18小时一次,有特定的开始日期
- 特定时间和日期的Javascript倒计时
- jquery中的倒计时今天日期
- 日期时间倒计时,删除小数,并在每个类别中保留时间显示时间
- 保存倒计时计时器中的日期
- 使用日期对象倒计时
- 在这个倒计时功能中,我在哪里更改日期
- 多个JavaScript倒计时日期
- Javascript/Jquery倒计时日期脚本