Я использую функцию для выравнивания высоты тегов li, возвращаемых из базы данных. Я также использую jquery для назначения определенных новых классов, зависящих от их позиции в строке.проблема с запуском jquery
Basocally Моя проблема в том, что позиционирующая часть инструкции jquery всегда работает, но часть с равными высотами иногда не срабатывает, на самом деле она вообще не работает в пустом кеше - однако она всегда срабатывает при обновлении или в секундах посетите страницу.
Живой пример здесь Link here! (дайте мне знать, если он работает для вас!)
код JQuery Я использую перечислен ниже.
jQuery.fn.equalCols = function(){
//Array Sorter
var sortNumber = function(a,b){return b - a;};
var heights = [];
//Push each height into an array
$(this).each(function(){
heights.push($(this).height());
});
heights.sort(sortNumber);
var maxHeight = heights[0];
return this.each(function(){
//Set each column to the max height
$(this).css({'height': maxHeight});
});
};
jQuery(document).ready(function($) {
$(".thumbs").each(function(i) {
if (i % 4 == 0)
$(this).addClass("start");
if (i % 4 == 3)
$(this).addClass("end");
});
$(".thumbs").each(function(i) {
if (i % 3 == 0)
$(this).addClass("start");
if (i % 3 == 2)
$(this).addClass("end");
});
$(".event_thumbs").each(function(i) {
if (i % 2 == 0)
$(this).addClass("start");
});
$('.thumbs, .end, .start').equalCols();
});
Если у Вас есть лучшие предложения для кода или методов для достижения цели, пожалуйста, выкрикнуть или если вы знаете, как заставить его работать - я люблю тебя.
Это, кажется, работает на начальном этапе, хотя я сделаю еще более глубокое тестирование, когда вернусь домой, - работайте отвратительно для браузеров и тестирования! Большое спасибо! – DanC
, к сожалению, это, похоже, не решило проблему - просто проверено на новом браузере с четким кешем, и проблема все еще там - черт! – DanC
Возможно ли, что «столбцы» хранят изображения? Если это так, вам нужно задержать срабатывание функции equalCols, пока все изображения не закончили загрузку. С коллекцией вам нужно будет отслеживать, сколько нагрузок вы ожидаете, а также инициировать изменение размера после некоторого времени, только если загруженное событие срабатывает до применения вашего обработчика. – tvanfosson