2

恳请您的想法:我想根据窗口高度的大小生成一个 div。

我创建了以下脚本来通过 javascript 提取高度。然后我将值转换为 PHP 变量,我尝试将其插入到相应的 CSS 表中。当我输入一个固定数字(例如 800 像素)时,div 会正确显示。当我尝试使用 PHP 变量时,我什么也没看到。

你能帮帮我吗?

谢谢你。

<script type="text/javascript">
<!--var w = screen.width;-->
var w = window,
x = w.innerWidth,
y = w.innerHeight;

<?php $screen_height = "<script>document.write(y)</script>";?>   
</script>   

<style type="text/css">

#map { width: auto; height: 800px; border: 0px; padding: 10px; padding-top: 10px; padding-right: 10px; margin-right: 10px;}

我的解决方案是:

#map { width: auto; height: <?php echo $screen_height;?>px; border: 0px; padding: 10px; padding-top: 10px; padding-right: 10px; margin-right: 10px;}

谢谢您的帮助。此致。

4

5 回答 5

0

你到底想做什么?如果您只需要 div 大小与窗口大小相关,则可以简单地使用百分比(例如 css,height:90%)。如果要在 DOM 加载后更改 div 大小,则需要一些 javascript。

于 2013-09-08T19:46:58.637 回答
0

创建一个类似于 style.css.php 的文件 以文件开头,然后将其视为普通的 CSS 文件,但您将能够在其中使用 php 值。

但是,您将无法在其中使用 javascript,但您可以通过请求将值传递给它,因此您可以请求 style.css.php?windowSize=800。

理想情况下,最好简单地使用 javascript 来改变一个类,或者使用媒体查询。

于 2013-09-08T14:16:55.213 回答
0

您的 javascript 在浏览器中执行,而 PHP 在服务器上执行。当 javascript 确定屏幕大小时,该页面已经在浏览器中呈现。如果您需要根据显示屏幕大小更改 div 的大小,只需使用您的 javascript 函数修改 div 的大小即可。

于 2013-09-08T13:31:39.373 回答
0

尝试使用:

<?php echo $screen_height; ?>

代替:

<?php $screen_height = "<script>document.write(y)</script>";?>   

你不能在 CSS 中使用 JS!

于 2013-09-08T13:27:58.840 回答
0

javascript在客户端执行,而php代码在服务器端执行。将所需的宽度和高度存储在 javascript 变量中

      <script type="text/javascript">
       function myfun()
    {
      var w=100;
      var h=200;
      document.body.innerHTML = '<div   style="position:absolute;width:'+w+'px;height:'+h+'px;opacity:0.3;z-index:100;background:#000;"></div>';
    }
         </script>


 <body>
    <div id="d1">hello this is div 1</div>
    <button id="b1" onclick="myfun();">click</button>
</body>

您可以使用 javascript 本身来加载 div 并分配 css 属性。

于 2013-09-08T14:07:09.443 回答