Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/273.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如果需要,从php运行JavaScript函数_Javascript_Php_Html - Fatal编程技术网

如果需要,从php运行JavaScript函数

如果需要,从php运行JavaScript函数,javascript,php,html,Javascript,Php,Html,我必须使用PHP变量运行JavaScript代码有PHPIF语句,如果是真的JavaScript将执行,但脚本使用第二个PHP变量 <?php if ($time_close_option == 1){ echo '<script type="text/javascript">'; // close the div in $timeoutdiv secs echo 'window.setTimeout("closePromoSpace(

我必须使用PHP变量运行JavaScript代码有PHPIF语句,如果是真的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  } ?>  

//以$timeoutdiv秒关闭div
setTimeout(closePromoSpace(),);
函数closePromoSpace()
{
document.getElementById(“promospace”).style.display=“无”;
};
请注意,我们可以通过在php和html上下文之间切换,而不是使用
echo
语句来大量清理代码。


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

setTimeout(closePromoSpace“”);
函数closePromoSpace()
{
document.getElementById(“promospace”).style.display=“无”;
}

试试这个

它在FF和Chrome中工作得很完美,但在IE中却不是,问题出在哪里请解释代码,它是如何做的,以便更具教育性?
<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>