从php if运行JavaScript函数



我必须使用PHP变量运行JavaScript,代码中有PHP if语句和if true 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>';
   }
?>  

看起来您将$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上下文之间切换来清理代码。

<?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>';
}
?>
<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>

试试这个

最新更新