Я пишу некоторые функции чтения больше/меньше для текста, но столкнулся со следующей проблемой.
Мои шаги: 1) получение содержимого текста, содержащего div, с несколькими абзацами.
var content = $heroContent.html();
2) Я делаю подстроку той части, которая всегда показывается, а вторую подстроку полного текста - той части, которая всегда показывается, то есть собственно скрытой части. (эту скрытую часть можно будет показать или скрыть, нажав кнопку)
c = content.substr(0, 700)
h = content.substr(700, content.length - roundedLimit)
3) Я поместил вторую часть в диапазон с классом morecontent, чтобы я мог скрыть этот контент и показать его.
html = c + "<span class='morecontent'>" + h + "</span>";
4) Я снова добавляю переменную html выше в свой div с текстом и скрываю «больше контента».
Причина помещения текста в диапазон заключается в том, что его можно поместить в строку с текстом до того места, где он разбивается. Если не в диапазоне, текст просто появляется в строке ниже, что нежелательно.
Проблема: вторая подстрока h может состоять из нескольких абзацев. Таким образом, когда тег P закрывается внутри переменной h, тег span также автоматически закрывается, следовательно, класс morecontent применяется только к началу диапазона до конца первого абзац внутри.
Я попытался исправить это, поместив текст в DIV, но тогда текст не отображается встроенным, и это действительно важная «функция».
Если бы кто-нибудь мог дать мне решение этой проблемы, это было бы здорово!
overflow: hidden
и, в конечном итоге, открывания контейнера, когда кто-то хочет прочитать все. Немного похоже на описание фильма на ютубе... - person Tallmaris   schedule 28.03.2013