Замена 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 день))) так что сильно не бейте))) |
На сколько я понимаю алгоритм работы 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 |
работает!! только начинает выбирать с первого дива, а надо чтобы начинал с четвертого))) можно как -нибудь задать начальное значение для i ?))
|
угу и будет вот так тебе надо
.filter(function(i){if (!((i+1)%4)) $(this).removeClass("photo-box").addClass("photo-box-last")})
|
УРААААА!!! огромнейшее спасибо! все работает)
|
| Часовой пояс GMT +3, время: 00:45. |