我正在尝试创建一个if块,它根据屏幕宽度将3或4吐出到$ postno变量中。 3或4意味着$ arg变量创建3或4个帖子。
我试过这个,但显然是错的,我不知道语法,因为我还是有点新手。有人可以帮忙解释一下吗?提前谢谢。
$args = array(
'posts_per_page' => $postno,
);
if($(window).width() >= 1024) {
$postno=4;
}
else {
$postno=3
}
答案 0 :(得分:0)
你把PHP和jQuery混淆在一起。 PHP是服务器端语言,jQuery是浏览器端。除非您使用jQuery通过使用Ajax等传递该值,否则PHP无法分辨访问者窗口的宽度。
即便如此,如果您尝试使用PHP将块限制为3或4,则在访问者加载文档之后,您将无法通过屏幕宽度。
您最好的选择是使用jQuery来检测屏幕宽度,就像您已经$(window).width()
那样,然后使用CSS来隐藏/显示正确数量的块。这可以通过溢出和/或显示无/块来实现。
示例:
var width = $(window).width();
if(width >= 1024) {
$('.block-4').show();
} else if(width < 1024) {
$('.block-4').hide();
}
这是一个非常粗略的例子,只是向你解释它的逻辑,可能无法在你的环境中工作。
编辑:
以下是您尝试使用PHP和jQuery实现的工作示例。
您将需要两个文件:
<强>的index.php:强>
$(document).ready(function() {
var width = $(window).width();
$.post("blocks.php", { width: width }).done(function(data) {
$('.content').html(data);
});
});
<强> blocks.php 强>
<?php
$width = $_POST['width'];
if($width >= 1024) {
echo '4';
} else {
echo '3';
}
?>
那么这将做的是将用户的屏幕宽度发布到名为blocks.php的PHP文件中,这个PHP文件将根据屏幕大小返回4或3,然后使用jQuery它将更新内容用4或3来称为“内容”的类。