jcarousel не работает правильно в Chrome

в моем коде я создаю литий ул. для jcarousel, т.е. это - список данных (напр. список фотографии)

когда фото количество является больше, чем говорят 4, jcarousel включает горизонтальную прокрутку, чтобы видеть следующие 4 фотографии.

ПРОБЛЕМА: когда я выполняю код в хроме, горизонтальные прокрутки остаются отключенными, даже если количество фотографий - больше чем 4, в других браузерах это работает отлично..

вот код, который импортирует файл jQuery:

     function SetCarousel() {

            $.getScript('<%=Html.LibUrl("jplugins/jquery.jcarousel.pack.js")%>', 
function(result)
                {

                jQuery('#CarouselUL').jcarousel({
                    visible: 4
                });
            });

        }

я попытался отослать .js файл, начало страницы (aspx) не работало.. даже сделанный этим хуже

помогите

13
задан dexter 4 January 2010 в 07:26
поделиться

3 ответа

Полагаю, вы имеете в виду эту jCarousel?

Если да, то какую версию jQuery вы используете?

Потому что этот плагин уже давно не обновлялся. Текущая версия 0.2.3 от 07 апреля 2008 года, и в журнале изменений этой версии написано

Версия 0.2.3 - 2008-04-07 Обновлена
. - запрос на версию 1.2.3. Исправлено
- (надеюсь) проблемы с Safari

Помню этот плагин имел некоторые проблемы с новыми версиями jQuery, начиная с 1.2.6 (сегодня мы уже на 1.3.2).

Также вы должны знать, что текущая версия jCarousel появилась еще до первого релиза Google Chrome (версия 0.2 вышла 08 сентября 2008 года).

.
0
ответ дан 1 December 2019 в 23:31
поделиться

Я исправил это на сайте, над которым работал, закомментировав код, указывающий на Safari; по какой-то причине исправления, которые они ввели, похоже, устарели. Я использую jQuery 1.3.2.

Вот код, который я удалил:

jquery.carousel.js:около строки 184

    /*if ($.browser.safari) {
      this.buttons(false, false);
      $(window).bind('load', function() { self.setup(); });
    } else */
      this.setup();

jquery.carousel.js:около строки 858

            /*if (p == 'marginRight' && $.browser.safari) {
            var old = {'display': 'block', 'float': 'none', 'width': 'auto'}, oWidth, oWidth2;

            $.swap(el, old, function() { oWidth = el.offsetWidth; });

            old['marginRight'] = 0;
            $.swap(el, old, function() { oWidth2 = el.offsetWidth; });

            return oWidth2 - oWidth;
            }*/

Надеюсь, это исправление поможет вам и другим, кто столкнулся с этой проблемой!

15
ответ дан 1 December 2019 в 23:31
поделиться

Я попробовал решение номер 1, и оно сработало. Хороший человек, спасибо тебе большое. Я только что прокомментировал строки:

/*if ($.browser.safari) {
  this.buttons(false, false);
  $(window).bind('load', function() { self.setup(); });
} else */
  this.setup();
1
ответ дан 1 December 2019 в 23:31
поделиться
Другие вопросы по тегам:

Похожие вопросы: