Javascript.RU

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

Как мне в цикле увеличить margin-left на 20%
Помогите пожалуйста
var contr = document.getElementsByTagName("article");
  var but = document.getElementById("but");
  for(var i = 0; i < contr.length; i++){
    contr[i].style.marginLeft =+20 + "%";
    }


Не работает вот эта штука. Она просто у всех 20 ставит. Подскажите как пройти циклом и увеличит исходное на 20
Ответить с цитированием
  #2 (permalink)  
Старый 18.12.2017, 23:10
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,492

Сообщение от Sinevik Посмотреть сообщение
Помогите пожалуйста
var contr = document.getElementsByTagName("article");
  var but = document.getElementById("but");
  for(var i = 0; i < contr.length; i++){
    contr[i].style.marginLeft =+20 + "%";
    }


Не работает вот эта штука. Она просто у всех 20 ставит. Подскажите как пройти циклом и увеличит исходное на 20
20% от чего? От исходной цифры? От ширины окна? От ширины элемета? calc(20% + n)?
__________________
29375, 35
Ответить с цитированием
  #3 (permalink)  
Старый 18.12.2017, 23:17
Аспирант
Отправить личное сообщение для Sinevik Посмотреть профиль Найти все сообщения от Sinevik
 
Регистрация: 23.09.2017
Сообщений: 39

Ну у меня стоит margin-left: 20% мне надо сделать 40%
Соответственно у кого стоит margin-left: 40% надо сделать 60%
Ответить с цитированием
  #4 (permalink)  
Старый 18.12.2017, 23:28
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,492

Если прям в атриубуте style, то всё просто:
contr[i].style.marginLeft = +contr[i].style.marginLeft + 20 + "%";
Если же где-то в стилях, то всё становится веселей.
__________________
29375, 35
Ответить с цитированием
  #5 (permalink)  
Старый 18.12.2017, 23:38
Аспирант
Отправить личное сообщение для Sinevik Посмотреть профиль Найти все сообщения от Sinevik
 
Регистрация: 23.09.2017
Сообщений: 39

Ну вот мне надо что бы все блоки не съехались в один на 20%, а уехали каждый на 20%
https://jsfiddle.net/8wgwqsjh/

Пытаюсь тут сам слайдер написать

Там на кнопку нажать надо
Ответить с цитированием
  #6 (permalink)  
Старый 19.12.2017, 00:39
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,492

Тогда всё печально, потому как getComputedStyle возвращает конкретные вычисленные пиксели, а шариться по подключённым стилям - гиблое дело.
Остаётся разве что использовать позиционирование:
var contr = document.getElementsByTagName("article");
  var but = document.getElementById("but");
  but.onclick= function(){
    for(var i = 0; i < contr.length; i++){
    contr[i].style.position = "relative";
    contr[i].style.left = "20%";
    }
  }
__________________
29375, 35
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Открытие div блока при первом визите на сайт Nushaba Общие вопросы Javascript 28 20.12.2013 21:24
Оцените, пожалуйста код вёрстки OlegALL Ваши сайты и скрипты 18 26.07.2011 09:35
Как увеличить размер окна... mav1 Events/DOM/Window 10 18.12.2010 19:33
Как мне переложить это на jQuery? сiparis jQuery 7 13.09.2010 23:19
как мне сдеать чтобы форма работала с формой? nemo Серверные языки и технологии 2 29.11.2009 16:21