Сделать JS реагировать на ширину экрана

0

У меня возникают проблемы с тем, чтобы заставить JS отвечать на размер браузера. Чтобы дать представление о том, над чем я работаю, обновленный JS Fiddle можно найти по ссылке http://jsfiddle.net/T5CqA/1/.

Исходный код выглядит следующим образом. '$ (document).ready(function() {

            $('#myDeepMenu').deepMenu({"tileW":64,"tileH":100,
                                       "columns":2,"rows":2,
                                       "mark-type":"top-left",
                                       "mark-color":"#A1A1A1"});
        });

Когда вы нажимаете на значки (на данный момент нет значков) появляется несколько меню изображений. Расположение этих значков продиктовано частью "Строка" и "Колонка" Javascript. У меня возникают проблемы с изменением значений на основе изменения размера экрана. Я хочу, чтобы элементы colours и row были разными, чтобы они соответствовали размеру экрана.

Например, переход от одной строки и столбца к нескольким, когда экран становится меньше.

  • 1
    Я полагаю, вы должны расширить DeepMenu.js с помощью нового метода обновления. Может быть, у меня есть время завтра, чтобы решить что-то для вас. :)
  • 1
    Итак, пара вариантов. Вы можете прослушать событие изменения размера окна и пересчитать ваши значения: $(window).resize(function() { //whatever }); , Или вы можете посмотреть на медиа-запросы CSS и полностью обработать отзывчивость вне javascript.
Показать ещё 2 комментария
Теги:

1 ответ

0
Лучший ответ

Здесь модуль jQuery, который я хотел бы включить в сайты разработки, я работаю с изменением размера окна, чтобы я мог видеть значение в консоли и использовать возвращаемое значение из checkWidth() для выполнения вычислений.

jQuery(function($){

    //store the reference outside the event handler:
    var $window = $(window);

    function checkWidth() {
        var windowSize = $window.width();

        return windowSize;
    }

    // Execute on load
    checkWidth();

    // Bind event listener to window resize
    $(window).resize(function(){
            //remove console.log from production version - useful for while in development
        console.log('checkWidth: ', checkWidth() + 'px' );
    });

});
  • 0
    Рад, что это помогло!

Ещё вопросы

Сообщество Overcoder
Наверх
Меню