Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 17.12.2009, 19:33
Интересующийся
Отправить личное сообщение для iGusse Посмотреть профиль Найти все сообщения от iGusse
 
Регистрация: 17.12.2009
Сообщений: 14

Замена CSS класса каждого четвертого div
Привет господа ДжаваСкрипетеры)))
столкнулся со следующей проблемой.

В верстке есть порядка 30 одинаковых дивов с классом .photo-box

нужно каждому четвертому диву присвоить класс .photo-box-last (типа четвертый в строке). Делаю следующее:

$(document).ready(function(){
								 
for ( $i=1; $i <= 24; $i++ ) {  
	
	$(".photo-box").hover( function () { $(this).addClass("hover"); }, function () { $(this).removeClass("hover"); });
	 
	 if ($i %4 == 0) 
	 
	 $(".photo-box").ready( function () { $(".photo-box").toggleClass("photo-box-last");  }); 
	 
	 $(".photo-box-last").hover(function () { $(this).addClass("hover"); }, function () { $(this).removeClass("hover"); }); 
	 
	 ;}
	  
});


изучаю jquery только 1 день))) так что сильно не бейте)))
Ответить с цитированием
  #2 (permalink)  
Старый 17.12.2009, 21:14
Аватар для PeaceCoder
Профессор
Отправить личное сообщение для PeaceCoder Посмотреть профиль Найти все сообщения от PeaceCoder
 
Регистрация: 15.12.2009
Сообщений: 742

На сколько я понимаю алгоритм работы jQuery, хотя в нем не работаю, $(".photo-box") выберает все элементы с таким классом...

Если я правильно понял, то попробуй так:
$(".photo-box")
  .hover( function () { $(this).addClass("hover"); }, function () { $(this).removeClass("hover"); })
  .filter(function(i){if (!(i%4)) $(this).removeClass("photo-box").addClass("photo-box-last")})


кстати не понял есть или нет функция типа replaceClass или switchClass, что бы не было remove & add

Последний раз редактировалось PeaceCoder, 17.12.2009 в 21:18.
Ответить с цитированием
  #3 (permalink)  
Старый 17.12.2009, 22:30
Интересующийся
Отправить личное сообщение для iGusse Посмотреть профиль Найти все сообщения от iGusse
 
Регистрация: 17.12.2009
Сообщений: 14

работает!! только начинает выбирать с первого дива, а надо чтобы начинал с четвертого))) можно как -нибудь задать начальное значение для i ?))
Ответить с цитированием
  #4 (permalink)  
Старый 17.12.2009, 22:49
Аватар для PeaceCoder
Профессор
Отправить личное сообщение для PeaceCoder Посмотреть профиль Найти все сообщения от PeaceCoder
 
Регистрация: 15.12.2009
Сообщений: 742

угу и будет вот так тебе надо
.filter(function(i){if (!((i+1)%4)) $(this).removeClass("photo-box").addClass("photo-box-last")})
Ответить с цитированием
  #5 (permalink)  
Старый 17.12.2009, 22:51
Интересующийся
Отправить личное сообщение для iGusse Посмотреть профиль Найти все сообщения от iGusse
 
Регистрация: 17.12.2009
Сообщений: 14

УРААААА!!! огромнейшее спасибо! все работает)
Ответить с цитированием
Ответ



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

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