我的屏幕尺寸= 1920x1080,我创建了这段代码:
$windowSize = "<script>document.write(window.outerWidth);</script>";
// echo "<div class=\"alto\">".$windowSize."</div>";
if ($windowSize == 1920) {
echo "<div class=\"alto\"> 1 </div>";
} elseif ($windowSize < 1920 && $windowSize == 1000){
echo "<div class=\"alto\"> 2</div>";
} else {
echo "<div class=\"alto\"> 3 </div>";
}
但在我的电脑节目中显示1920(正确),但未显示&#34; 1&#34; ..但是&#34; 3&#34;。 有人可以给我一个我失踪的地方吗?
答案 0 :(得分:3)
您不能以这种方式混合PHP和JavaScript代码。
执行PHP代码后,其输出将被发送到浏览器,并且没有直接的方式来读取&#34;您输出的客户端代码(JavaScript)的结果。
上面代码的作用是将字符串"<script>...</script>"
与1920
进行比较,该字符串将始终评估为false
,从而达到代码块3。
如果要根据屏幕大小显示div,可以单独使用JavaScript:
注意:下面的所有JavaScript示例都使用jQuery。
<div class="a" style="display: none;"></div>
<div class="b" style="display: none;"></div>
<div class="c" style="display: none;"></div>
<script>
var windowSize = window.outerWidth;
if (windowSize >= 1920) {
$('.a').show();
} else if (windowSize >= 1000){
$('.b').show();
} else {
$('.c').show();
}
</script>
或者更好的是,使用CSS media queries而根本没有JavaScript。
但是,如果您想将此信息传递给服务器,则可以使用JavaScript在服务器上调用PHP脚本,例如:
<script>
$.get('window-size.php?size=' + window.outerWidth);
</script>
这将是一个单独的PHP调用,将在页面加载后发生。