我有一个应用程序,我必须在其中显示一个事件的计时器,当事件结束时,该计时器(包含它的块)应该隐藏。我已经为父 div 元素(该块)设置了 CSS,因为计时器元素具有动态 ID(它具有事件的 ID 号以及类名)。
这是 JavaScript 代码:
function GetCount(deal_year,deal_month,deal_date,deal_box)
{
dateFuture = new Date(deal_year,deal_month,deal_date,00,00,00);
// alert(dateFuture); return false;
dateNow = new Date(); //grab current date
//alert(dateNow);
span = dateFuture.getTime() - dateNow.getTime(); //calc milliseconds between dates
delete dateNow;
// if date has passed
if(span <= 0){
x=document.getElementById("dealbox");
x.parentNode.getAttributeNode("style").value="display:none";
}
else { // date is still good
// convert from milliseconds to hr/m/s...
// and save them in diff variable(code is long so avoided that)
document.getElementById(deal_box).innerHTML="<span>"+out+"
</span><br/><strong>days : hours : minutes : seconds</strong>";
setTimeout("GetCount('"+deal_year+"','"+deal_month
+"','"+deal_date+"','"+deal_box+"')", 1000);
Ans 这是 php 代码
if(strtotime("now") < strtotime($end_date)) { ?>
<div class ="timer_box" id="timer" style="float:right; display: block;" >
<b><div id="deal_box<?php echo $id; ?>"></div></b>
</div>
<script type="text/javascript">
GetCount(<?php echo $timer_array[0]; ?>,<?php echo $timer_array[1]-1; ?>,<?php
echo $timer_array[2]; ?>,'<?php echo 'deal_box'.$id; ?>','<?php echo 'timer'; ?>');
</script> <?php } ?>
我尝试通过使用传递给函数的 DOM 元素的 parentNode 访问来隐藏父块。但它没有用。我怀疑该函数无法通过元素访问父级的 if 。我尝试了每件事,但没有帮助。所以尝试了通过javascript更改元素的类名的解决方法,但仍然认为有更好的方法,因为我是菜鸟,希望错过一些东西。