Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #11 (permalink)  
Старый 22.04.2017, 15:40
Профессор
Отправить личное сообщение для Nexus Посмотреть профиль Найти все сообщения от Nexus
 
Регистрация: 04.12.2012
Сообщений: 3,739

arkadii_parovozov, я смотрю Вы любите извращаться.
Ресурсоемкость зависит от реализации.
Ответить с цитированием
  #12 (permalink)  
Старый 22.04.2017, 15:44
Профессор
Отправить личное сообщение для Nexus Посмотреть профиль Найти все сообщения от Nexus
 
Регистрация: 04.12.2012
Сообщений: 3,739

<div class="magazin">
    <div class="bloki" data-id="<?php echo $row['id'];?> data-minutes="<?=$row['time'];?>"></div>
    <div class="bloki" data-id="<?php echo $row['id'];?> data-minutes="<?=$row['time'];?>"></div>
</div>

<script type="text/javascript">
	$(function(){
		var cur_time=(new Date()).getTime()/1000;//Время от которого буду устанавливать сдвиг.
		$('.magazin>[data-minutes]').each(function(){
			$(this).text(cur_time+parseFloat($(this).attr('data-minutes')));
		});
	});
</script>
Ответить с цитированием
  #13 (permalink)  
Старый 22.04.2017, 15:58
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Сообщение от Nexus
$(this).attr('data-minutes')
В JQ значение этого атрибута лучше получать как data('minutes').

$(this).text(cur_time+$(this).data('minutes'));

Если к примеру атрибут будет содержать json формат, то такое обращение вернет готовый объект.
Ответить с цитированием
  #14 (permalink)  
Старый 22.04.2017, 16:17
Кандидат Javascript-наук
Отправить личное сообщение для arkadii_parovozov Посмотреть профиль Найти все сообщения от arkadii_parovozov
 
Регистрация: 24.11.2016
Сообщений: 101

)) Извращаюсь потому что я с js на "Вы". Спасибо за пример!
Ответить с цитированием
  #15 (permalink)  
Старый 22.04.2017, 16:19
Кандидат Javascript-наук
Отправить личное сообщение для arkadii_parovozov Посмотреть профиль Найти все сообщения от arkadii_parovozov
 
Регистрация: 24.11.2016
Сообщений: 101

laimas,
Спасибо!
Ответить с цитированием
  #16 (permalink)  
Старый 22.04.2017, 16:20
Профессор
Отправить личное сообщение для Nexus Посмотреть профиль Найти все сообщения от Nexus
 
Регистрация: 04.12.2012
Сообщений: 3,739

Сообщение от laimas Посмотреть сообщение
В JQ значение этого атрибута лучше получать как data('minutes').

$(this).text(cur_time+$(this).data('minutes'));

Если к примеру атрибут будет содержать json формат, то такое обращение вернет готовый объект.
Читал, что "jq" метод "data" кэширует результаты, поэтому всегда юзаю attr.
К тому же из data-атрибута ожидаются вполне определенные данные имеющие тип int или float.

К чему приведет (float)cur_time+(object)$(this).data('minutes'), к NaN?
Ответить с цитированием
  #17 (permalink)  
Старый 22.04.2017, 16:33
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Сообщение от Nexus
метод "data" кэширует результаты
Не путайте метод date() привязывающий к объекту переменные с получением данных из атрибута. Например, у объекта атрибут data-a. При выполнение метода data({a : 1}) объекту будет добавлена переменная "a" к атрибуту data-a отношения не имеющая.

Сообщение от Nexus
К чему приведет (float)cur_time+(object)$(this).data('minutes'), к NaN?
Проверить то не сложно, что все будет Ок.

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> 
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>
<script> 
$(function() {
    $.each($('p'), function() {
        alert($(this).data('m')+5)
    })
});
</script> 
</head>
<body>
<p data-m="123"></p>
<p data-m="123.4"></p>
</body>
</html>

Последний раз редактировалось laimas, 22.04.2017 в 16:41.
Ответить с цитированием
  #18 (permalink)  
Старый 22.04.2017, 16:46
Профессор
Отправить личное сообщение для Nexus Посмотреть профиль Найти все сообщения от Nexus
 
Регистрация: 04.12.2012
Сообщений: 3,739

Сообщение от laimas Посмотреть сообщение
Если к примеру атрибут будет содержать json формат, то такое обращение вернет готовый объект.
Сообщение от laimas Посмотреть сообщение
Проверить то не сложно, что все будет Ок.
<p data-m="123"></p>
<p data-m="123.4"></p>
Во втором параграфе (<p>) json формат?
Я предполагал, что вы имеете ввиду несколько другой тип данных.

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>
<script type="text/javascript">
$(function() {
	$('p').last().attr('data-m',JSON.stringify({foo:'bar'}));
	$('p').each(function(){
		alert($(this).data('m')+5);
	});
});
</script>
</head>
<body>
<p data-m="123"></p>
<p data-m="json"></p>
</body>
</html>
Ответить с цитированием
  #19 (permalink)  
Старый 22.04.2017, 16:49
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Ну здрасьте, я же не сумасшедший, коли работаю с числами мною же определенными, то уж точно знаю чего ожидать.
Ответить с цитированием
  #20 (permalink)  
Старый 22.04.2017, 16:57
Профессор
Отправить личное сообщение для Nexus Посмотреть профиль Найти все сообщения от Nexus
 
Регистрация: 04.12.2012
Сообщений: 3,739

Сообщение от laimas Посмотреть сообщение
Ну здрасьте, я же не сумасшедший, коли работаю с числами мною же определенными, то уж точно знаю чего ожидать.
При работе с числами и parseFloat + jq.attr пойдет.
Спасибо за информацию о jq.data, приму к сведению.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Таймер для нескольких id nekada Общие вопросы Javascript 11 21.02.2017 10:03
Скрипт не работает для нескольких объектов smart-create Events/DOM/Window 10 05.01.2017 00:44
подскажите пожалуйста эффекты для показа нескольких блоков по скроллу greenwar jQuery 12 09.09.2014 19:50
HTA-приложение для радио Pianorama Magneto Ваши сайты и скрипты 42 22.01.2012 08:34