0

要素の高さが 55 を超えているかどうかを判断しようとしています。その場合、ラッピング div は 55px に折りたたまれ、「続きを読む」リンクが表示されます。

問題は、DOM ナビゲーターの .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 に答える