Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 10.07.2015, 13:03
Аспирант
Отправить личное сообщение для emptyindorill Посмотреть профиль Найти все сообщения от emptyindorill
 
Регистрация: 16.02.2012
Сообщений: 73

Перемещение класса по активному по дате селектору
Здравствуйте, пытаюсь написать функцию смены класса у селектора при активной дате.
То есть, есть массив элементов с указанными: data-year="", data-month="" и data-day="".
Например:
<li data-year="2015" data-month="7" data-day="10"></li>

И нужно что бы когда число совпадало с data- данными у этого селектора был класс, например, actual, а у селектора за вчерашнее число удалялся этот класс.

То есть вчера было так:
<li data-year="2015" data-month="7" data-day="09" class="actual"></li><li data-year="2015" data-month="7" data-day="10"></li>

А сегодня должно быть так:
<li data-year="2015" data-month="7" data-day="09"></li><li data-year="2015" data-month="7" data-day="10" class="actual"></li>


С таким сталкиваюсь впервые и вообще не представляю как такое можно сделать. Даже не могу придумать как правильно составить запрос, по запросу "работа с селектором по дате" или "смена класса при смене даты" и других разных - ничего дельного не нашёл. А по поиску здесь - единственно понятное мне это:
function showDay(){
var mon = ['Января', 'Февраля', 'Марта', 'Апреля', 'Мая', 'Июня', 'Июля', 'Августа', 'Сентября', 'Октября','Декабря']; //массив месяцев
var date = new Date();// текущая дата
/* date.setDate(date.getDate() + 10); */ //устанавливаем дату + 10 дней
var msg = date.getDate() + " "+ mon[date.getMonth()]; //формируем текст для сообщения
/* alert(msg); */ //а теперь узнаем результат
}
showDay();

Но я не могу додуматься что писать, по этому - подскажите пожалуйста - как можно соотнести работу с data- и датой? Если есть темы с примерным описанием но я криворукий и не нашёл - будьте добры ссылку.

Последний раз редактировалось emptyindorill, 10.07.2015 в 13:17.
Ответить с цитированием
  #2 (permalink)  
Старый 10.07.2015, 13:26
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,225

Сообщение от emptyindorill
То есть вчера было так:
<li data-year="2015" data-month="7" data-day="09" class="actual"></li><li data-year="2015" data-month="7" data-day="10"></li>


А сегодня должно быть так:
<li data-year="2015" data-month="7" data-day="09"></li><li data-year="2015" data-month="7" data-day="10" class="actual"></li>
У тебя та страница вечно висит на каком-то клиенте?

Потому как задача больше серверная, нежели клиентская...
Ответить с цитированием
  #3 (permalink)  
Старый 10.07.2015, 13:31
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,225

Как вариант...

<!DOCTYPE html>
<html>
<head>
<meta http-equiv='Content-Type' content='text/html; charset=windows-1251' />
<script src='http://code.jquery.com/jquery-latest.js'></script>
<!--
<script src="https://code.angularjs.org/1.3.9/angular.min.js"></script>
<script src="https://code.angularjs.org/1.3.9/angular-route.js"></script>
<link rel='stylesheet type=text/css href=tmp.css' />
<link rel="stylesheet/less" type="text/css" href="style.less">
<script src="http://cdnjs.cloudflare.com/ajax/libs/less.js/2.5.0/less.min.js"></script>
-->
<style type='text/css'>
.actual {
	color: red;
}
</style>
<script type='text/javascript'>
$(function(){
	var year=2015;
	var month=7;
	var day=10;
	$('.actual').removeClass('actual');
	$('[data-year="'+year+'"][data-month="'+month+'"][data-day="'+day+'"]').addClass('actual');
});
</script>
</head>
<body>
<ul>
	<li data-year="2015" data-month="7" data-day="09" class="actual">1</li>
	<li data-year="2015" data-month="7" data-day="10">2</li>
</ul>
</body>
</html>
Ответить с цитированием
  #4 (permalink)  
Старый 10.07.2015, 13:41
Аспирант
Отправить личное сообщение для emptyindorill Посмотреть профиль Найти все сообщения от emptyindorill
 
Регистрация: 16.02.2012
Сообщений: 73

Нигде не висит, обычный сайт на cms, а в список прописываю data- руками.
Ответить с цитированием
  #5 (permalink)  
Старый 10.07.2015, 13:42
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,225

Сообщение от emptyindorill
Нигде не висит
Тогда пусть сервер сразу ставит класс нужному элементу списка...
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Использование классов в JavaScript devote Ваши сайты и скрипты 70 01.02.2013 17:17
Свойства/методы класса TicTac Общие вопросы Javascript 5 03.07.2011 14:53