可悲的是,我不是一个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;
}
?>
答案 0 :(得分:1)
得到这样的价格:
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/
演示使用2012 07 10 - $1500 -> 2012 07 15 $1000
,因此它处于计算阶段