我恳请您提出您的意见:我想根据窗户高度的大小生成一个div。
我创建了以下脚本以通过javascript提取高度。然后我将值转换为PHP变量,我尝试将其插入到相应的CSS工作表中。当我输入固定数字(例如800px)时,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;}
感谢您的帮助。 最好的问候。
答案 0 :(得分:0)
尝试使用:
<?php echo $screen_height; ?>
而不是:
<?php $screen_height = "<script>document.write(y)</script>";?>
你不能在CSS中使用JS!
答案 1 :(得分:0)
您的javascript在浏览器中执行,而PHP则在服务器上执行。当javascript确定屏幕的大小时,页面已经在浏览器中呈现。如果您需要根据显示屏大小更改div的大小,只需使用您的javascript函数修改div的大小。
答案 2 :(得分: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属性。
答案 3 :(得分:0)
创建一个类似style.css.php的文件 使用启动文件 然后将其视为普通的CSS文件,但您可以在其中使用php值。
然而,您将无法在其中使用javascript,但您可以通过请求将值传递给它,以便您可以请求style.css.php?windowSize = 800。
理想情况下,仅使用javascript来改变类或使用媒体查询会更好。
答案 4 :(得分:0)