带有if块的jQuery语法

时间:2013-10-22 14:54:39

标签: php if-statement syntax

我正在尝试创建一个if块,它根据屏幕宽度将3或4吐出到$ postno变量中。 3或4意味着$ arg变量创建3或4个帖子。

我试过这个,但显然是错的,我不知道语法,因为我还是有点新手。有人可以帮忙解释一下吗?提前谢谢。

$args = array(
    'posts_per_page'    => $postno,
);  

if($(window).width() >= 1024) {
$postno=4;

} 
else {
        $postno=3
    } 

1 个答案:

答案 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来称为“内容”的类。