$('#mycarousel2 li.jcarousel-item-'+this_carusel).append(cur_old_item);
Этот код работает правильно в лисе и опере. В хроме рабоатет неправильно. Так как при загрузке он не успевает увидеть классы у <li>, которые jquery плагин не успевает загрузить. Хром раньше считывает информацию о сурс коде как я понимаю.
setTimeOut("$('#mycarousel2 li.jcarousel-item-'+this_carusel).append(cur_old_item);", 1000);
частично испарвляет ситуацию, но пораждает кучу других проблем, так как запускается в другом потоке и срабатывает уйму другого кода, который не должен сработать до того, пока не срабоатет добавление. Много проблем.
Усыпление скрипта мало того, что убивает практически браузер, так еще и не совсем корректно работает. То тут, то там баги возникают.
Как можно еще решить проблему.
Спустя 2 минуты, 26 секунд (19.02.2012 - 23:39) nugle написал(а):
а так не пробовал?
$('.jcarousel-item-'+this_carusel).append(cur_old_item);
Спустя 9 минут (19.02.2012 - 23:48) SoMeOnE написал(а):
Не помагает. Он не успевает увидеть ни один из добавленных, плагином классов.
Спустя 44 минуты, 17 секунд (20.02.2012 - 00:33) inpost написал(а):
А ты код установил просто в head, или конкретно в onload?
Спустя 4 минуты, 25 секунд (20.02.2012 - 00:37) SoMeOnE написал(а):
В head подключаю скрипт который все это выполняет при $(document).ready
Спустя 2 минуты, 4 секунды (20.02.2012 - 00:39) inpost написал(а):
Какая такая необходимость в том, чтобы jQuery подгружал новые элементы?
Спустя 7 минут, 13 секунд (20.02.2012 - 00:46) SoMeOnE написал(а):
Там плагин jcarusel. Товары добавляются в корзину на лету, динамически. Из за этого нужно бывает инициализировать каждый раз плагин. после добавление.
Но впринципе все рабоатет праввильно на самой странице.
Т.е если мы на странице и начинаем добавлять товвары все работает верно. список давно иницализирован, и все добавлятется нормально. Но при переходе на другую страницу, старые добавленные товары из куки опять должны попасть туда.
И вот в этот момент кода
он вначале опять инициализирует карусель
а потом пробегаясь по объекту с пришедшими данными, забивает их туда. И если их больше 6 он опять его инициализирует, та как добавляется новый <li>. (в каждом ли помещается по три элемента в моем случае)
Но он не срабатывает даже в первом случае в хроме. В лисе и опере все нормально работает.
Но впринципе все рабоатет праввильно на самой странице.
Т.е если мы на странице и начинаем добавлять товвары все работает верно. список давно иницализирован, и все добавлятется нормально. Но при переходе на другую страницу, старые добавленные товары из куки опять должны попасть туда.
И вот в этот момент кода
if (cookie.get('cookie_item')) {
он вначале опять инициализирует карусель
jQuery('ul#mycarousel2').jcarousel({
scroll:2,
itemLoadCallback: itemLoadCallbackFunction
});
а потом пробегаясь по объекту с пришедшими данными, забивает их туда. И если их больше 6 он опять его инициализирует, та как добавляется новый <li>. (в каждом ли помещается по три элемента в моем случае)
Но он не срабатывает даже в первом случае в хроме. В лисе и опере все нормально работает.
Спустя 3 минуты, 30 секунд (20.02.2012 - 00:50) SoMeOnE написал(а):
Хром я так понимаю раньше считывает соурс код в этот момент, прежде чем успевает произойти инициилизация. Потому что как я напсиал выше при setTimeout с задержкой 1 секунда!!!! хром срабатывает. Но при этом целая куча других проблем, как я написал выше(((
Спустя 37 минут, 11 секунд (20.02.2012 - 01:27) SoMeOnE написал(а):
Выхода не было. Кое как перевео весь код вместе с циклом в ф-ию, которую вызываю с секундной задержкой. Хотя думаю это конечно не очень верно. здесь получилось, не очень большой объем кода. А если, что то серьезное было бы.