Измените ширину контейнера более чем на 32767 с помощью jquery в Opera - PullRequest
1 голос
/ 03 января 2009

Я хочу сделать мини-временную шкалу с jquery, и чтобы эта временная шкала имела ширину более 32767 пикселей. Когда я изменяю его с помощью jquery $(".timelinecontainer").width(32767);, в Opera это не меняется, но в других браузерах это работает.

Можете ли вы дать мне совет, как заставить его работать в Opera?

Ответы [ 7 ]

4 голосов
/ 03 января 2009

Я подозреваю, что Opera сохраняет короткую ширину окна и, следовательно, не может обрабатывать значения, превышающие 32767. Вам, вероятно, следует изменить ваш подход в любом случае и масштабировать временную шкалу, чтобы соответствовать текущему окну, а затем дать возможность увеличить на части этого. Я думаю, ваш интерфейс будет выглядеть и работать лучше таким образом. То, как вы это делаете, пользователю придется много прокручивать, чтобы просмотреть временную шкалу, и он никогда не сможет увидеть его полностью.

3 голосов
/ 03 января 2009

Я уверен, что я буду огорчен, что скажу это, но вы можете просто игнорировать Opera.

Если вам нравится, как все выглядит в других браузерах (IE, FF, Safari / Chrome), то я бы сказал, что у вас есть 99% покрытых баз.

Возможно, вы захотите сообщить об ошибке в Opera. (хотя я предполагаю, что это может быть jquery - у него может быть другой путь к коду для Opera). Если бы вы могли создать простую HTML-страницу, чтобы воспроизвести проблему, вы бы знали. Затем приложите его к сообщению об ошибке.

1 голос
/ 04 августа 2011

Это ошибка, и она была исправлена ​​в предварительных альфа-версиях Opera 12, доступных из http://my.opera.com/desktopteam

1 голос
/ 07 июня 2011

Я могу подтвердить, что это действительно ошибка в текущих версиях Opera. Хорошей новостью является то, что мы работаем над ее исправлением (я работаю в Opera, поэтому я знаю, что там происходит :)), поэтому в не столь отдаленном будущем ваш сценарий должен начать работать так, как вы ожидаете.

Я бы на самом деле предположил, что если обходной путь, предложенный в первом ответе выше, слишком сложен для реализации, вам следует проигнорировать проблему и дождаться обновления Opera, которое ее исправит.

1 голос
/ 06 июня 2011

Это очень старая ошибка в Opera, которую по какой-то причине они не могут устранить. Opera популярна только в некоторых регионах, и в основном эта ошибка игнорируется разработчиками.

Для этого не существует автоматизированного решения. В качестве быстрого решения вы можете обнаружить веб-браузер в вашем скрипте и ограничить ширину для Opera. Как пример - прокрутите эту гитарную вкладку до конца в Opera.

0 голосов
/ 04 января 2009

Для меня тоже звучит как ошибка Opera.

Почему бы не взглянуть на проект Timeline Simile (http://simile.mit.edu/timeline/) и посмотреть, как они это сделали?

0 голосов
/ 04 января 2009

Это определенно ошибка в Opera.

По совпадению, я видел это впервые только вчера. В моей ситуации у меня есть внутренний контейнер с width:9999em и внешний контейнер, который использует overflow:hidden и scrollLeft() для создания карусели. В Opera scrollLeft() перестает отвечать на этой ширине.

Сообщите об ошибке в Opera: https://bugs.opera.com/wizard/

...