Как в JS задать css правило и пересчитывать его при любом изменении?
Здравствуйте.
Столкнулся с такой проблемой.. имеется блок, которому задано свойство position: absolute с нужными координатами. Всё вроде бы отлично, но при изменении ВЫСОТЫ окна браузера блок остается там, где был раньше, а не идёт дальше.
Может кто писал уже подобный скрипт или видел где-нибудь? Буду благодарен любой подсказке.
У вас наверно в px позиционирование сверху. Оно будет всегда неподвижным если вы так задали, потому что top всегда считается от верхней части родителя (будь то body или relative), а они будут стоять соответственно всегда на своём месте вне зависимости от окна браузера (верхняя граница на своём месте)
Коряво объяснил, поздно уже, спать охота. Мож кто может - объяснит лучше.
Если вам хочется поменять расположение элемента при меньшем окне - попробуйте использовать % вместо px в указаниях top. Если нужно менять под конкретный размер экрана - стоит посмотреть на @ media запросы в CSS. JS в вашем случае думаю не нужен совсем. К примеру при max-height: 700px делать у определенного элемента top больше/меньше ну и тп.
1) про % Вам уже написали - задавайте координаты не в px, а в %
2) если так уж хочется менять стили из JavaScript - все стили содержатся в свойстве style - например, elem.style.color="#561714";
elem - Ваш элемент
Эта операция в JavaScript равносильна CSS-правилуcolor: #561714
(строго говоря, добавлению атрибута style="color: #561714" к Вашему HTML-элементу)