Javascript.RU

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

Массово поменять свойства блоков на странице
Есть html
<div class="my" style="top: 274px; left: 215px;"></div>
<div class="my" style="top: 145px; left: 115px;"></div>
<div class="my" style="top: 352px; left: 415px;"></div>
<div class="my" style="top: 474px; left: 325px;"></div>

Планирую двигать сразу все блоки, но сначала мне надо как-то получить значения всех top и left. Класть наверное лучше их в 2 массива, но как их получить все до этого?
Ответить с цитированием
  #2 (permalink)  
Старый 09.01.2016, 00:06
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,080

Сообщение от mrbanan
Планирую двигать сразу все блоки
как?
может проще менять класс
Ответить с цитированием
  #3 (permalink)  
Старый 09.01.2016, 00:09
Аспирант
Отправить личное сообщение для mrbanan Посмотреть профиль Найти все сообщения от mrbanan
 
Регистрация: 28.08.2015
Сообщений: 40

Ну допустим я сгенерил блоки с разными классами:
<div class="my1" style="top: 274px; left: 215px;"></div>
<div class="my2" style="top: 145px; left: 115px;"></div>
<div class="my3" style="top: 352px; left: 415px;"></div>
<div class="my4" style="top: 474px; left: 325px;"></div>

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

Последний раз редактировалось mrbanan, 09.01.2016 в 00:11.
Ответить с цитированием
  #4 (permalink)  
Старый 09.01.2016, 00:11
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,080

Сообщение от mrbanan
допустим я сгенерил блоки
тогда какой смысл узнавать, то что известно?
Ответить с цитированием
  #5 (permalink)  
Старый 09.01.2016, 00:12
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,080

mrbanan,
циклом по всем нужным вам элементам, другого пути нет.
Ответить с цитированием
  #6 (permalink)  
Старый 09.01.2016, 00:40
Аспирант
Отправить личное сообщение для mrbanan Посмотреть профиль Найти все сообщения от mrbanan
 
Регистрация: 28.08.2015
Сообщений: 40

Хорошо, цикл не проблема, но если я создам 100 объектов с id допустим от my1 до my100 а в css-то их не будет...
Т.е. некорректно будет ссылка на несуществующий id в css а GetElementByClassname не кроссбраузерный
Ответить с цитированием
  #7 (permalink)  
Старый 09.01.2016, 00:53
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,080

mrbanan,
не осилил я ваших речей ...
<!DOCTYPE HTML>

<html>

<head>
  <title>Untitled</title>
  <meta charset="utf-8">
  <style type="text/css">
 .my{
   position: absolute;
    width: 10px;
    height: 10px;
    background-color: #0000CD;
 }

  </style>
</head>

<body>
<div class="my" style="top: 274px; left: 215px;"></div>
<div class="my" style="top: 145px; left: 115px;"></div>
<div class="my" style="top: 352px; left: 415px;"></div>
<div class="my" style="top: 474px; left: 325px;"></div>

<script>
var arr = [].map.call( document.querySelectorAll('.my'), function(el) {
       var pos = el.getBoundingClientRect()
       return  {top : pos.top, left: pos.left}
});
document.write(JSON.stringify(arr))
</script>
</body>

</html>
Ответить с цитированием
  #8 (permalink)  
Старый 09.01.2016, 01:02
Профессор
Отправить личное сообщение для Keramet Посмотреть профиль Найти все сообщения от Keramet
 
Регистрация: 30.12.2015
Сообщений: 194

оберни их в jQuery:
$('div[class^=my]').each(function() {
	// а тут для каждого меняй свойсвта
});

Последний раз редактировалось Keramet, 09.01.2016 в 01:06.
Ответить с цитированием
  #9 (permalink)  
Старый 09.01.2016, 01:46
Профессор
Отправить личное сообщение для Keramet Посмотреть профиль Найти все сообщения от Keramet
 
Регистрация: 30.12.2015
Сообщений: 194

что-то типа этого (если я правильно понял идею). Нажми на кнопку - получишь результат
<!DOCTYPE html>
<html lang="ru">
<head>
	<meta charset="UTF-8"/>
	<title>Двигай </title>
	<script src="http://code.jquery.com/jquery-2.0.3.min.js"></script>
	<style>
		div { 	border: 1px solid black; position: absolute; background: red;}
	</style>
	<script type="text/javascript">
		window.onload = function() {
			document.getElementById('myBtn').onclick = function() {
				var addTop = 10, addLeft = 10;
				var $allDiv = $('div[class^=my]').each(function() {
					this.style.top = parseInt(this.style.top) + addTop + 'px';
					this.style.left = parseInt(this.style.left) + addLeft + 'px';
				});
			}
		};
	</script>
</head>

<body>
<input type='button' id='myBtn' value='Click me'>
<div class="my1" style="top: 74px; left: 115px;">11</div>
<div class="my2" style="top: 45px; left: 15px;">22</div>
<div class="my3" style="top: 52px; left: 315px;">33</div>
<div class="my4" style="top: 34px; left: 225px;">44</div>
</body>
</html>

Последний раз редактировалось Keramet, 09.01.2016 в 01:49.
Ответить с цитированием
  #10 (permalink)  
Старый 09.01.2016, 02:03
Профессор
Отправить личное сообщение для Decode Посмотреть профиль Найти все сообщения от Decode
 
Регистрация: 31.01.2015
Сообщений: 576

Keramet, jQuery здесь очень нужен
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
как найти div-ы по содержимому и поменять им свойства sovsem-nub Events/DOM/Window 14 10.11.2015 23:04
Как получить данные из блоков на странице? shmaser Общие вопросы Javascript 4 10.12.2013 20:10
поменять плеер на странице без перезагрузки invectro Общие вопросы Javascript 1 21.03.2013 20:21
Надо поменять цвет одной ссылки на странице, в зависимости от того куда она ведет. stasok Общие вопросы Javascript 6 15.10.2012 10:34
Поменять свойства ссылки insomnia Элементы интерфейса 5 24.06.2009 21:37