<ul>
{pc:content action="lists" catid="156" order="listorder DESC" thumb="1" num="2" moreinfo="1"}
{loop $data $r}
<li>
<input type="text" id="time" value="<?php echo $r['enddata'];?>"/>
<script type="text/javascript">
// 倒计时
var time = document.getElementById('time').value;
//alert(time);
var AfterTime= new Date(time);
function ShowTimes(){
var NewTime=new Date();
LeaveTime = AfterTime - NewTime;
LeaveDays=Math.floor(LeaveTime/(1000*60*60*24)); //天
LeaveHours=Math.floor(LeaveTime/(1000*60*60)%24); //时
LeaveMinutes=Math.floor(LeaveTime/(1000*60)%60); //分
LeaveSeconds=Math.floor(LeaveTime/1000%60); //秒
var ne = document.getElementById("dh");
ne.innerHTML=" 剩<span>"+LeaveDays+"</span>天<span>"+LeaveHours+"</span>时<span>"+LeaveMinutes+"</span>分<span>"+LeaveSeconds+"</span>秒";
if(LeaveTime<0){
ne.innerHTML=" 抢购已结束";
}
}
setInterval(ShowTimes,100);
</script>
<div class="time" id="dh"></div>
</li>
{/loop}
{/pc}</ul>
说明:<li>循环2次,$r['enddata']变量分别获取相应的2次结束时间,但JS只运行一次,就是下图右边怎么才能像左边一样得到值。
只有5分,不好意思
当然input 里的“text”最后得换成"hidden",就是一个隐藏域。
刚才参考了一下网上的代码,应为PHP和JS在同一个页面,代码也可以改成:
<?php
$time=$r['enddata'];
echo "<script> var time=\"$time\";</script>";
?>
<script type="text/javascript">
// 倒计时
var AfterTime= new Date(time);
function ShowTimes(){
var NewTime=new Date();
//这了代码同上面的JS......
</script>
不过这样得到的时间是另一个时间。就是图片中后一个时间跟现在的时间差值,但JS输出的结果是在左边(应该是在右边)?
HIï¼å¥ä»¬ï¼ä½ çç解æå ç¹é误
php å js åå«æ°æ®æå¡å¨æ§è¡ç代ç å æµè§å¨æ§è¡ç代ç ï¼è½è¯´ä¸ºåä¸ä¸ªé¡µé¢æå¡ï¼ä½æ¯æ¯åå«è¿è¡çï¼phpæ§è¡çç»æåï¼è¿åç»æµè§å¨ï¼ç¶åæµè§å¨æè½æ§è¡js代ç ï¼å°±æ¯è¯´æµè§å¨çå°çé½æ¯phpæ§è¡çç»æï¼å¯ä»¥æ¥ç页é¢æºä»£ç æ¥çä½ PHPè¾åºç»æï¼
ä½ çphpè¾åºç»æ产çå¤ä¸ªååçjså½æ°ï¼èjséåå½æ°æ¯å¯ä»¥è¦ççï¼ç¾åº¦ä¸ä¸ï¼
ç¶åä½ éæ°åèèå®ç°ä½ è¦å®ç°çç¨åºç代ç
ä½ è¯´çé½æï¼ä½èªå·±æ°´å¹³å¾èï¼è¿æ¯æ²¡æ³æ好ï¼å¸æ......
追çè¿ä¸ªç没åæ³å¸®å¿ï¼ä½ æ好æ¾ä½ åäºï¼æè é¢å¯¼ç»ä½ 梳çä¸ä¸æè·¯ï¼è®©ä»ä»¬ç»ä½ å建议