Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 04.12.2013, 18:02
Аспирант
Отправить личное сообщение для dikucher Посмотреть профиль Найти все сообщения от dikucher
 
Регистрация: 18.04.2013
Сообщений: 51

динамическое изменение CSS свойства
Нужно менять свойство в зависимости от размеров экрана
Вот, что написал, я вычисляю нужную мне велечину, и хочу вставить её значение в метод .css, ну и конечно это не работает

$(window).resize(function(){
        var widthGl = $('#global-wrap').width();
        var valueLeft = ((widthGl - 1240)/2-224) + "px";
        $('.main-nav').css('left', 'valueLeft');
    });
Ответить с цитированием
  #2 (permalink)  
Старый 04.12.2013, 18:10
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Убери кавычки. А вобще, ты занимаешься ерундой. Про css не слышал, не?
Кинь ссылку на проблемный сайт. Или накидай схему расположения блоков.
__________________
В личку только с интересными предложениями
Ответить с цитированием
  #3 (permalink)  
Старый 04.12.2013, 18:24
Аспирант
Отправить личное сообщение для dikucher Посмотреть профиль Найти все сообщения от dikucher
 
Регистрация: 18.04.2013
Сообщений: 51

сайт
Интересно будет посмотреть решение на чистом CSS
задача заключается в том, что у меня есть блок с position: fixed; ( левая плавающая навигация )
и при изменение размеров окна, мне нужно чтобы он был на одиноковом расстоянии от правого блока

Что за кавычки ? "px" - эти ? убрал, но это выдает ошибку
Ответить с цитированием
  #4 (permalink)  
Старый 04.12.2013, 19:02
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Так убери просто свойство left у плавающего блока.

А кавычки я говорил про те что вокрук переменной.
__________________
В личку только с интересными предложениями
Ответить с цитированием
  #5 (permalink)  
Старый 04.12.2013, 19:05
Аспирант
Отправить личное сообщение для dikucher Посмотреть профиль Найти все сообщения от dikucher
 
Регистрация: 18.04.2013
Сообщений: 51

$(document).ready(function(){

    $(function(){
        var widthGl = $('#global-wrap').width();
        var valueLeft = (((widthGl - 1240)/2) + "px");
        $('.main-nav').css('left', valueLeft);
    });

    
    $(window).resize(function(){
        var widthGl = $('#global-wrap').width();
        var valueLeft = (((widthGl - 1240)/2) + "px");
        $('.main-nav').css('left', valueLeft);
    });

});


теперь понял, что скорее всего вы имели ввиду кавычки у значения valueLeft
У меня следующий вопрос
Я продублировал функции, чтобы рассчет производился когда мы открыли страницу или когда мы изменили размер экран. Но можно ли это сделать красивее, так как явное дублирование кода. ( уж такой я неграмотный в JS )
Ответить с цитированием
  #6 (permalink)  
Старый 04.12.2013, 19:11
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Сообщение от dikucher
 $(function(){ .. })
Это краткая запись $(document).ready(funciton(){ .. }). Че это получается, document.ready внутри document.ready? Безупречная логика ))


Просто после навешивания обработчика resize вызови этот обработчик так:

$(window).resize();


Кстати, вариант с удалением left не подошел? Почему?
__________________
В личку только с интересными предложениями
Ответить с цитированием
  #7 (permalink)  
Старый 05.12.2013, 14:11
Аспирант
Отправить личное сообщение для dikucher Посмотреть профиль Найти все сообщения от dikucher
 
Регистрация: 18.04.2013
Сообщений: 51

на счет left, мой фэил, вы правы
но данный код пригодиться для правого блока ( ценник ) который при скроле становиться потом плавающим, и вот ему нужно будет вычислять right
а вот как сократить код, я так и не понял ( вы уж извините, но с JS очень туго )
вот так не арбайтен, а именно при ресайсе
$(document).ready(function(){


        var widthGl = $('#global-wrap').width();
        var valueRight = (((widthGl - 1240)/2) + "px");
        $('.price-floating').css('right', valueRight);

        $(window).resize();

});

Последний раз редактировалось dikucher, 05.12.2013 в 14:18.
Ответить с цитированием
  #8 (permalink)  
Старый 05.12.2013, 15:11
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Нет, код оставь как есть (как в первом посте), и плюс добавь ниже еще $(window).resize().
То есть если до сих пор не доперло: навешиваешь обработчик события resize, затем тут же генерируешь это событие, чтоб обработчик тут же отработал.

Насчет правого блока - можешь убрать right, и добавить margin-left: 718px

кстати при сужении окна (меньше 1100px) возникают проблемы с этими блоками
__________________
В личку только с интересными предложениями
Ответить с цитированием
  #9 (permalink)  
Старый 05.12.2013, 17:47
Аспирант
Отправить личное сообщение для dikucher Посмотреть профиль Найти все сообщения от dikucher
 
Регистрация: 18.04.2013
Сообщений: 51

воспользовался твоим советом, спозиционировал marginami
А вот как решить проблему с ними при <1100 даже не знаю
Ответить с цитированием
  #10 (permalink)  
Старый 05.12.2013, 20:21
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

css media queries
__________________
В личку только с интересными предложениями
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Получение вычисленного значения css свойства FanAizu jQuery 2 12.03.2014 20:30
Изменение css свойства Rumis jQuery 2 21.05.2013 11:55
CSS свойства :before и :after - нужен хелп :) seoguru (X)HTML/CSS 1 24.01.2013 23:13
Изменение свойства CSS Squirr Events/DOM/Window 30 12.07.2012 22:51
Динамическое изменение <input text> baal1988 Events/DOM/Window 4 24.08.2008 17:17