Вычисление ширины блока с помощью JQ

(Ответов: 10, Просмотров: 1749)
Страница 1 из 2 12 Последняя
  1. [web-developer] Аватар для cOAPerator
    • Регистрация: 22.02.2011
    • Сообщений: 615
    • Репутация: 111
    • Webmoney BL: ?
    Всем привет, вопрос такой,

    Код:
    var totalWidthContent = $('#layout').outerWidth(); // ширина блока с контентом, включая padding
    var totalWidthButton = $('#scroll_to_top').outerWidth(true); // ширина самой кнопки наверх, включая padding и margin
    var totalPadding = $(window).width()/2-totalWidthContent/2-totalWidthButton;
    
    $('#scroll_to_top').css({'right': totalPadding +'px'});
    вычисляет нормально значение totalOtstup, но! при ресайзе страницы(меняем ширину окна мышой) динамически не вычисляет. только после ctrl F5
    объясните почему?
    • 0
  2. Дипломник
    • Регистрация: 29.11.2009
    • Сообщений: 131
    • Репутация: 32
    1. А по ресайзу пересчет запускается?
    2. Никогда outerWidth() не польлзовался, обычный width() не прокатывает?
    • 0
  3. Дипломник
    • Регистрация: 27.06.2013
    • Сообщений: 117
    • Репутация: 17
    Пересчитываем по ресайзу.
    Код:
    $(window).on('resize', function () {
      // resize
    });
    • 1

    Спасибо сказали:

    akrustam(18.06.2014),
  4. [web-developer] Аватар для cOAPerator
    • Регистрация: 22.02.2011
    • Сообщений: 615
    • Репутация: 111
    • Webmoney BL: ?
    Пробую так:
    Код:
    var totalWidthContent = $('#layout').outerWidth(); // ширина блока с контентом, включая padding
    var totalWidthButton = $('#scroll_to_top').outerWidth(true); // ширина самой кнопки наверх, включая padding и margin
    var totalPadding = $(window).width()/2-totalWidthContent/2-totalWidthButton;
    
    $( window ).resize(function() {
     $('#scroll_to_top').css({'width': totalOtstup+'px'});
    });
    но не работает, ширина динамически не меняется, только при обновлении страницы
    • 0
  5. Студент
    • Регистрация: 08.07.2012
    • Сообщений: 47
    • Репутация: 7
    • Webmoney BL: ?
    в ресайзе что за переменная више??
    totalOtstup
    • 0
  6. Дипломник
    • Регистрация: 27.06.2013
    • Сообщений: 117
    • Репутация: 17
    У вас ресайзе каждый раз изменяется один раз подсчитанный отступ. Правильно так:
    Код:
    var updatePadding = function () {
      var totalWidthContent = $('#layout').outerWidth(); // ширина блока с контентом, включая padding
      var totalWidthButton = $('#scroll_to_top').outerWidth(true); // ширина самой кнопки наверх, включая padding и margin
      var totalPadding = $(window).width()/2-totalWidthContent/2-totalWidthButton;
      $('#scroll_to_top').css({'width': totalPadding+'px'});
    };
    
    updatePadding();
    $( window ).resize(updatePadding);
    Да, и totalOtstup неясно, откуда :)
    • 1

    Спасибо сказали:

    cOAPerator(19.06.2014),
  7. [web-developer] Аватар для cOAPerator
    • Регистрация: 22.02.2011
    • Сообщений: 615
    • Репутация: 111
    • Webmoney BL: ?
    SPIELER-x, сори опечатался. totalPadding вместо totalOtstup.

    GoodHash, спасибо. значит если я правильно понимаю, вычисление ширины нужно оборачивать в анонимную функцию, а метод resize будет запускать ее каждый раз при изменении размера экрана, верно?
    Последний раз редактировалось cOAPerator; 19.06.2014 в 14:51.
    • 0
  8. Гуру Аватар для akrustam
    • Регистрация: 21.05.2010
    • Сообщений: 1,161
    • Репутация: 285
    • Webmoney BL: ?
    Да. Без собития ресайз работать не будет.
    • 1

    Спасибо сказали:

    GoodHash(19.06.2014),
  9. Студент Аватар для wmas
    • Регистрация: 25.05.2014
    • Сообщений: 62
    • Репутация: 17
    Предположение: первоначальная задача как-то связана с центрированием, что, при определённых условиях, можно решить на чистом CSS, не?
    • 0
  10. Дипломник
    • Регистрация: 27.06.2013
    • Сообщений: 117
    • Репутация: 17
    Возможно, но это надо видеть всю верстку.
    • 0
Страница 1 из 2 12 Последняя

Похожие темы

Темы Раздел Ответов Последний пост
Изменение ширины таблицы
WordPress 12 18.11.2013 16:01
Вычисление апа тиц
Оффтоп и свободные темы 4 27.10.2013 09:03
Не могу сделать фотер 100% ширины в бутстрап 3.0
Web программирование 14 23.10.2013 16:12
4 блока Adsense! O_o
PPC и контекстная реклама 11 16.10.2013 02:37
Вычисление ip посетителя
Web программирование 11 28.04.2013 01:09

У кого попросить инвайт?

Вы можете попросить инвайт у любого модератора:

Информеры