我的代码有问题,因为我想制作"阅读更多"在我的帖子中...但这个脚本削减了我的话......
实施例..
This is example text to cut
切割后:
Thix is example te...
我想得到:
Tix is example text...
$(document).ready(function() {
var showChar = 45;
var ellipsestext = "...";
var moretext = "more";
var lesstext = "less";
$('.cut').each(function() {
var content = $(this).html();
if(content.length > showChar) {
var c = content.substr(0, showChar);
var h = content.substr(showChar-1, content.length - showChar);
var html = c + '<span class="moreellipses">' + ellipsestext+ ' </span><span class="morecontent"><span>' + h + '</span> <a href="" class="morelink">' + moretext + '</a></span>';
$(this).html(html);
}
});
$(".morelink").click(function(){
if($(this).hasClass("less")) {
$(this).removeClass("less");
$(this).html(moretext);
} else {
$(this).addClass("less");
$(this).html(lesstext);
}
$(this).parent().prev().toggle();
$(this).prev().toggle();
return false;
});
});
&#13;
a {
color: #0254EB
}
a:visited {
color: #0254EB
}
a.morelink {
text-decoration:none;
outline: none;
}
.morecontent span {
display: none;
}
.comment {
width: 400px;
background-color: #f0f0f0;
margin: 10px;
}
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<div class="comment cut">
Lorem ipsum dolor sit amet, consectetur adipiscing elit.
Vestibulum laoreet, nunc eget laoreet sagittis,
quam ligula sodales orci, congue imperdiet eros tortor ac lectus.
Duis eget nisl orci. Aliquam mattis purus non mauris
blandit id luctus felis convallis.
Integer varius egestas vestibulum.
Nullam a dolor arcu, ac tempor elit. Donec.
</div>
<div class="comment cut">
Duis nisl nibh, egestas at fermentum at, viverra et purus.
</div>
<div class="comment cut">
consectetur adipiscing elit. Proin blandit nunc sed sem dictum id feugiat quam blandit.
Donec nec sem sed arcu interdum commodo ac ac diam. Donec consequat semper rutrum.
Vestibulum et mauris elit. Vestibulum mauris lacus, ultricies.
</div>
&#13;
你能帮我修改一下这段代码吗?我试过但是我得到了错误。迎。
答案 0 :(得分:1)
看着你的小提琴,它有点hacky但你可以使用它:
var c = content.substr(0, showChar);
var csplit = c.split(" ").pop();
c = csplit.join(" ");
var h = content.substr(c.length, content.length - showChar);
而不是:
var c = content.substr(0, showChar);
var h = content.substr(showChar-1, content.length - showChar);
然而,确实有更优雅的方式来做到这一点