我必须使用PHP变量运行JavaScript,代码具有PHP if语句,如果真正的javascript将执行,但脚本使用第二个PHP变量。
<?php
if ($time_close_option == 1){
echo '<script type="text/javascript">';
// close the div in $timeoutdiv secs
echo 'window.setTimeout("closePromoSpace();",' <?php echo $timeoutdiv;?>);';
echo 'function closePromoSpace()
{
document.getElementById("promospace").style.display=" none";
};';
echo'</script>';
}
?>
答案 0 :(得分:1)
您似乎将$timeoutdiv
用作字符串,而不是数字。尝试
<?php if ($time_close_option == 1) { ?>
<script type="text/javascript">
// close the div in $timeoutdiv secs
window.setTimeout(closePromoSpace(), <?php echo $timeoutdiv;?>);
function closePromoSpace()
{
document.getElementById("promospace").style.display=" none";
};
</script>
<?php } ?>
请注意,我们可以通过不使用echo
语句,但通过在php和html上下文之间切换来清理代码。
答案 1 :(得分:0)
<?php if ($time_close_option == 1)
{
echo '<script type="text/javascript">';
echo 'function closePromoSpace()
{
document.getElementById("promospace").style.display="none";
}';
echo "window.setTimeout(closePromoSpace, $timeoutdiv);";
echo '</script>';
}
?>
答案 2 :(得分:0)
<script type="text/javascript">
<?php
if ($time_close_option == 1)
{?>
window.setTimeout(closePromoSpace, '<?php echo $timeoutdiv; ?>');
function closePromoSpace()
{
document.getElementById("promospace").style.display = "none";
}
<?php
} ?>
</script>
试试这个