0

我试图确定元素高度大于 55。如果是这种情况,包装 div 将折叠到 55px,并且应该出现“阅读更多”链接。

问题是 dom navigator .next() 和 .hide() 在我的每个函数中都不起作用。我得到的元素的高度没问题,我将它们记录到控制台并得到不同的值是好的。但是,当我使用 IF 语句从太小的元素中隐藏 .read-more 链接时,它不起作用。

这是我的小提琴http://jsfiddle.net/eKDUe/,我完全迷路了。我希望有人能帮帮忙!

readMore.prev('p').each(function( index ) {

var deg = $(this).height();
console.log(deg);
if (deg < 55 ){
  var  as = $(this);
  var as2 = as.next();
console.log(as2);      
}
});


readMore.on('click', function(){
 $this = $(this);
var current = $this.prev();
console.log(current);
  if(current.height() < 55){

      current.css('height', 'auto');
     $this.html('Dölj');
   }else{
    current.css('height', '53px');
    $this.html('Läs mer');
   }
});
4

1 回答 1

1

尝试类似的东西

readMore = $('.read-more').hide()
readMore.filter(function(){
    return $(this).prev().height() > 55;
}).show()

演示:小提琴

于 2013-08-29T08:14:27.610 回答