窗口大小屏幕的条件

时间:2014-12-15 07:08:23

标签: javascript php

我的屏幕尺寸= 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;。 有人可以给我一个我失踪的地方吗?

1 个答案:

答案 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调用,将在页面加载后发生。

相关问题