这有什么问题吗?

时间:2015-11-10 14:01:58

标签: php

$ width的值越来越好,并且与浏览器宽度相符,但if语句不会执行。

<?php 
$width = "<script>document.write(window.outerWidth); </script>";
echo($width);
if ($width > 599) {
    echo do_shortcode('[codepeople-html5-media-player id="1"]');
} else {?>
    <img src="/wp-content/uploads/2015/04/copy-jandp-logo2.png" alt="logo" /> 
<?php } ?>

3 个答案:

答案 0 :(得分:0)

正如我的评论中所述,使用CSS媒体查询来实现您想要的效果。

PHP代码:

echo '<div class="codepeople-sc">', do_shortcode('[codepeople-html5-media-player id="1"]'), '</div>';
echo '<div class="codepeople-img"><img src="/wp-content/uploads/2015/04/copy-jandp-logo2.png" alt="logo" /></div>';

CSS样式:

.codepeople-sc{ display: none; }
.codepeople-img{ display: block; }
@media (min-width: 599px){
    .codepeople-sc{ display: block; }
    .codepeople-img{ display: none; }
}

答案 1 :(得分:-3)

在您的PHP代码中,$width是一个字符串。通过将if ($width > 599)更改为if ( strlen( $width ) > 599 )

来实现您的目标

答案 2 :(得分:-3)

当您将双引号下的任何内容分配给变量时,它是一个字符串 ie:str =&#34;我是一个字符串&#34 ;; #String
ie:num = 23; #number

执行if语句时,$ width是一个比较
的字符串 因此,它不会执行。如果你创建一个字符串
(即:x =&#34; 15&#34;)您可以将其转换为整数。

parseInt()函数解析字符串并返回一个整数。 希望它有所帮助。祝你好运!