Любой способ сделать "медиа-запросы бэкэнда" с JS и PHP? - PullRequest
0 голосов
/ 28 июля 2011

Проект, над которым я работаю, состоит из сетки, отображающей контент. Я хотел бы изменить размер каждого элемента в сетке до четверти размера области просмотра. Это было бы очень легко с Javascript, но есть некоторые бэкенды, которые должны знать размер каждого элемента:

Я использую Timthumb, чтобы изменить размер изображения элемента до его подходящего размера, поэтому мне нужно будет определить ширину области просмотра и отправить соответствующее значение (ширина области просмотра / 4) php, который обслуживает каждый элемент, так что сообщает Timthumb подходящий размер.

Как лучше всего подойти к этой проблеме?

Ответы [ 2 ]

3 голосов
/ 28 июля 2011

Как насчет того, чтобы запросить страницу в $ (document) .ready, определить размер области просмотра с помощью jQuery и передать ее в запросе AJAX?

$(document).ready(function () {
    var height = $(window).height();
    var width = $(window).width();
    $.ajax({
        type: 'POST',
        url: image.php,
        data: {
            "height": height,
            "width": width
        },
        success: function (data) {
            $("#viewarea").html(data);
        },
    });
});

на стороне PHP вы можете просто получить его и вернуть данные

$_POST['height']
$_POST['width']
1 голос
/ 28 июля 2011

Конечно, простой запрос AJAX / JQuery к PHP-скрипту, который генерирует изображение, будет работать здесь?

Что-то вроде:

var query_string = "x=<viewport-x>&y=<viewport-y>";
$('#viewport').html("Processing...");
$('#viewport').load('resize_image.php',query_string);

Таким образом, вам просто нужно взять переменные $_GET['x'] и $_GET['y'] в вашем PHP-скрипте и передать их TimThumb, прежде чем отобразить правильный путь к изображению обратно на страницу.

...