JQueryを使用してmore/lessを表示したいです。私はグーグルでいくつかの例を試しましたが、どちらもうまくいきませんでした。空想はありません、私は特定の高さにカットするテキストの段落を必要とし、リンクは追加のテキストを展開/非表示にします。Show more less with JQuery
答えて
、あなたが望む任意のトリガーにクリックイベントを追加することができます。
HTML:
<div id="blah">
Long...Content
</div>
Javascriptを: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);
}
});
は当初、W/OのJavaScriptが有効なユーザーのために無期限のdivを隠しません。
テストされていないが、動作するはずです:これは、実際のdiv要素をクリックすることで、完全なdiv要素の上映を切り替える必要があります
<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);
}
}
ロジックは、長さの内容を2つの部分に分割し、2番目の部分を隠すことです。 2番目のセクションは '詳細を表示'リンクを使用して表示されます。完全な詳細はhttp://danishsultan.blogspot.com/2012/03/adding-show-less-show-more-feature.htmlです。
jQueryを多かれ少なかれ使用できます。あなたはそれがテキストのスプライシングHTMLコンテンツなし多かれ少なかれを追加し、このプラグイン
http://plugins.learningjquery.com/expander/index.html
ここdemo
使用を見ることができます。
- 1. more/less with FAQ with
- 2. Expandable UITableView with "more show"ボタン
- 3. Jquery toggle list more/lessボタンを読む
- 4. Jqueryの高さMore&LessとToggle
- 5. SQLの 'more'、 'less'の使用
- 6. jQuery show()、hide()with Selenium IDE
- 7. jQueryのless/moreボタンがphpで設定されていますforeach
- 8. jQuery関数show div with display:なし
- 9. ネスト:after:last-child with LESS
- 10. 今日の拡張機能iOS 10 Swift、Show less
- 11. jQueryトラバース.next().show()
- 12. jQuery Content Slider(more CSS)
- 13. jQuery hide/moreボタンを表示
- 14. Jquery show image while .show()
- 15. Show More/Show UIButtonを追加する方法UITextViewを制御するには
- 16. more、lessは猫のように振る舞う
- 17. Jquery filter and show
- 18. ショーの問題more /ショーの少ないJquery
- 19. AngularJS ng-show with fade animation
- 20. 角2 ERROR with show image
- 21. Jquery Problem.For More 1画像アップロードプレビュー
- 22. AngularJS - ui-bootstrapページネーション "show more results"が動作しない
- 23. セレンでnytimes.comの "more show"ボタンをクリックしてください
- 24. wxFontDialog、wxpythonの "Show more fonts"ボタンを非表示にします
- 25. Less with Angular 2の使い方は?
- 26. ブラックベリーウィジェットjquery hide/show
- 27. jquery dialog zoom show
- 28. jquery show slide bug
- 29. jQuery hide/show content
- 30. jquery .show( 'slow')direction?
ありがとう! FFとSafariで動作します。クリックしたリンクになるように修正しました。 IE7/8でテストするのを恐れる;) –
ハ、皆じゃない?常に? – jondavidjohn
本当ですか!シンプルなものを求めている間に、少しシンプルなものが必要になり、別の質問が掲載されたことに気付きました。テキストをきれいに切り捨てる必要があります。 –