Я хочу показать больше/меньше с помощью JQuery. Я попробовал пару примеров от Google, но не работал. Ничего необычного, мне просто нужен абзац текста, который нужно отрезать до определенной высоты, а ссылка будет расширять/скрывать дополнительный текст.Показать больше с JQuery
ответ
Это должно переключать показ полного DIV нажав фактического DIV, вы можете добавить событие щелчка на любой триггер вы хотите.
HTML:
<div id="blah">
Long...Content
</div>
Javascript:
$('#blah').css({height:'20px', overflow:'hidden'});
$('#blah').on('click', function() {
var $this = $(this);
if ($this.data('open')) {
$this.animate({height:'20px'});
$this.data('open', 0);
}
else {
$this.animate({height:'100%'});
$this.data('open', 1);
}
});
Показаны менее с JavaScript изначально не скрыть DIV до бесконечности для пользователей без JavaScript включен.
проверялось, но должно работать:
<div style="height:500px;overflow:hidden" id="blah">
Hello Hello Hello.Hello Hello Hello.Hello Hello Hello.Hello Hello Hello.Hello Hello Hello.Hello Hello Hello.Hello Hello Hello.Hello Hello Hello.Hello Hello Hello.Hello Hello Hello.Hello Hello Hello.Hello Hello Hello.Hello Hello Hello.
</div>
<a href="#" id="showmore">Show more</a>
<script>
$("#showmore").live('click', function() {
$("#blah").css('height','1000px');
});
</script>
не переключается, он хочет расширить/скрыть не только расширение. – jondavidjohn
Да, это работает, но я хочу, чтобы он тоже сжался. Я попробовал http://plugins.jquery.com/project/moreLess, но это совсем не работает. –
Быстрый и грязный образец:
<style>
.collapsed {height:50px; overflow:hidden}
</style>
<script>
$(function() {
$(".expander").click(function() { $("div").toggleClass("collapsed"); });
})
</script>
<div class="collapsed">LOTS AND LOTS OF TEXT LOTS AND LOTS OF TEXTLOTS AND LOTS OF TEXTLOTS AND LOTS OF TEXTLOTS AND LOTS OF TEXTLOTS AND LOTS OF TEXTLOTS AND LOTS OF TEXTLOTS AND LOTS OF TEXTLOTS AND LOTS OF TEXTLOTS AND LOTS OF TEXTLOTS AND LOTS OF TEXTLOTS AND LOTS OF TEXTLOTS AND LOTS OF TEXTLOTS AND LOTS OF TEXTLOTS AND LOTS OF TEXTLOTS AND LOTS OF TEXTLOTS AND LOTS OF TEXTLOTS AND LOTS OF TEXTLOTS AND LOTS OF TEXTLOTS AND LOTS OF TEXTLOTS AND LOTS OF TEXT</div>
<span class="expander">Expand/Collapse</span>
Мое решение немного отличается.
function SetMoreLess(para, thrLength, tolerance, moreText, lessText) {
var alltext = $(para).html().trim();
if (alltext.length + tolerance < thrLength) {
return;
}
else {
var firstHalf = alltext.substring(0, thrLength);
var secondHalf = alltext.substring(thrLength, alltext.length);
var firstHalfSpan = '<span class="firstHalf">' + firstHalf + '</span>';
var secondHalfSpan = '<span class="secondHalf">' + secondHalf + '</span>';
var moreTextA = '<a class="moreText">' + moreText + '</a>';
var lessTextA = '<a class="lessText">' + lessText + '</a>';
var newHtml = firstHalfSpan + moreTextA + secondHalfSpan + lessTextA;
$(para).html(newHtml);
}
}
Логика состоит в том, чтобы разбить длину на две части и скрыть вторую. Второй раздел показан с использованием ссылки «показать больше». Здесь вы можете найти полную информацию, http://danishsultan.blogspot.com/2012/03/adding-show-less-show-more-feature.html.
Вы можете использовать jQuery больше или меньше. Вы можете увидеть здесь demo
Используйте этот плагин
http://plugins.learningjquery.com/expander/index.html
Это добавляет более или менее без сращивания HTML содержания текста.
- 1. Функция JQuery «Показать больше»
- 2. JQuery показать больше ярлыков?
- 3. jQuery Показать больше/Меньше содержимого
- 4. Как показать больше списка с помощью jquery
- 5. JQuery Показать больше/меньше Пример
- 6. JQuery Показать больше Показать меньше с высотой не символов
- 7. Ищете «показать больше» «скрыть» javascript/jquery
- 8. показать больше в таблице данных jQuery
- 9. jQuery slideUp анимация, чтобы показать больше контента
- 10. jQuery показать больше деталей по нажатию
- 11. Показать больше/меньше элементов, используя jQuery
- 12. jquery: gt issue .. пытается показать больше
- 13. Простой jQuery показать больше/меньше контента
- 14. jquery показать больше строк, но не всех
- 15. JQuery длинный абзац показать больше/показать меньше ссылка не работает
- 16. JQuery list Показать больше показать меньше функций переключения ненадежных
- 17. JQuery Показать больше div и показать меньше div
- 18. Без jQuery, сделайте «показать больше» «показать меньше» a href
- 19. Отображается больше текста с jquery
- 20. Несколько Показать больше/Показать меньше
- 21. Каков наилучший способ реализации кнопки «Показать больше» с помощью jQuery?
- 22. JQuery help показать больше/меньше с форматированием в div
- 23. PHP показать больше системы
- 24. jQuery - Показать меньше/больше, поднимаясь и опускаться до «Показать больше» и наоборот
- 25. Показать больше Текст в fullcalendar
- 26. Показать больше и показать меньше по Баттону
- 27. лома под «показать больше»
- 28. Нажмите, чтобы показать больше
- 29. CardBuilder показать больше текста
- 30. показать больше фотографий
Спасибо! Работает в FF и Safari. Я изменил его так, что это ссылка, которую вы нажимаете. Боюсь испытать в IE7/8;) –
Ха, не все? всегда? – jondavidjohn
Так верно! Я понял, что, когда я просил что-то простое, мне нужно было что-то менее простое и опубликовал другой вопрос. Необходимо чисто обрезать текст. –