首先,你可以查看我的結局http://jsfiddle.net/RXnKR/我可以給這個jQuery添加速度嗎?
從此我決定當您點擊更多按鈕,我想它慢慢動畫和不確定我是否會改變這個要做到這一點?我很高興的任何建議,真的希望它:)
首先,你可以查看我的結局http://jsfiddle.net/RXnKR/我可以給這個jQuery添加速度嗎?
從此我決定當您點擊更多按鈕,我想它慢慢動畫和不確定我是否會改變這個要做到這一點?我很高興的任何建議,真的希望它:)
另一種解決方案,似乎更加流暢; http://jsfiddle.net/RXnKR/6/
$('.more').each(function() {
var content = $(this).html();
var height = $(this).height();
$(this).data('fullheight', height);
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);
var collapsedHeight = $(this).height();
$(this).data('smallheight', collapsedHeight);
}
});
$(".morelink").click(function() {
var parentMore = $(this).parents('.more');
var more = $(this);
if (more.hasClass("less")) {
parentMore.animate({
height: parentMore.data('smallheight')
}, 1000, function() {
more.removeClass("less");
more.html(moretext);
});
} else {
parentMore.animate({
height: parentMore.data('fullheight')
}, 1000, function() {
more.addClass("less");
more.html(lesstext);
});
}
在這裏你去:http://jsfiddle.net/RXnKR/5/
請記住,在這種情況下,「.morecontent跨度」必須有持續性的高度,否則在下次運行如果高度發生了變化,那麼文本的一部分可能會溢出其他元素,或者可能會有額外的空白。所以如果高度發生變化,你必須重新計算它。
雖然這不是問題,而且你還是收到了相當不錯的回報。下次發帖之前,我會諮詢faq。