2013-02-19 3 views
1

У меня есть пример моего вопроса, размещенного на моем SkyDrive:JQuery, JScrollPane и Long Content

https://skydrive.live.com/redir?resid=E95AD09917EEFAD1!292&authkey=!APYwAoPQ0tprs-A

Я отображающее содержание в элементе управления WebBrowser .NET и использованием JScrollPane, чтобы сделать содержание прокручивать. Проблемы, которые я получаю, возникают при отображении большого содержимого. Эти проблемы, похоже, не происходят в Chrome или Firefox, но, глядя на пример в IE9, вы должны показать, что я собираюсь описать.

Проблема № 1 заключается в том, что большое количество содержимого переполняется вправо. Лучший пример этого - когда вы сначала загружаете страницу, верхний абзац (фактически ячейка таблицы) переполняется справа. Вот скриншот:

enter image description here

Выпуск № 2 является то, что по какой-то причине расчет высоты панели прокрутки не работает правильно, и содержание отрезаны в нижней части, как показано здесь:

enter image description here

Update:

Я в конечном итоге присуждение моей щедрости к RedDevil79, потому что его ответу действительно было так но белая область: предварительная упаковка необходима для моего проекта, поэтому я не мог просто удалить ее. Моим окончательным решением было добавить к элементам «.freetext tr td» слово-wrap: стиль сломанного слова, а также динамическое дополнение справа, соответствующее ширине правой полосы прокрутки.

+0

Еще одна вещь, которую вы заметите, - это стиль css белого пространства для freetext, который должен оставаться там. – flamebaud

+0

, пожалуйста, отправьте код! как вы исправите что-то, что не существует .. если вы разместили свой код, ppl помогли бы вам давным-давно .. и настройте jsfiddle, чтобы ppl мог помочь лучше –

+0

umm ... Код опубликован ... на моем skydrive ... ссылка выше – flamebaud

ответ

0

Проблема с правильным переполнением заключается в том, что вы используете белое пространство: предварительно оберните содержимое, если вы удалите его, он работает нормально. Это должно решить проблему высоты тоже, если не пытаться уничтожить и инициализировать снова объект, как:

var ele = $('#Outer').jScrollPane(scrollSettings); 
scrollAPI = ele.data('jsp');  
scrollAPI.destroy(); 
ele = $('#Outer').jScrollPane(scrollSettings); 
scrollAPI = ele.data('jsp'); 

EDIT:

я обнаружил, что с помощью этого при инициализации объекта не нужно уничтожать и восстанавливать каждый раз, когда содержимое изменяется, и, возможно, устраняет проблему с высотой.

$("#Outer").jScrollPane({ 
    autoReinitialise:true, 
    autoReinitialiseDelay: 1 
});