2016-11-21 6 views
0

私はjQueryでテキストのボタンを増減しています。私のjQueryスクリプトがロードされるとき、私はdivのテキストのいくつかを表示したいだけです。この場合、最初に非表示にする> 650文字の任意のテキスト。私は、jQueryを使ってその限界を超えてテキストを隠す方法を考え出すのに問題があります。また、ボタンをクリックすると、div内の残りのテキストを表示する関数を作成しようとしています。次に、同じボタンをクリックすると、元のテキストだけが表示されます。jQuery hide/moreボタンを表示

私は正しい軌道に乗っているかもしれない作業を行っていますが、そのような場合にはわかりません。

提案がありましたら教えてください。

フィドル------ https://jsfiddle.net/carbot3000/f20bbh7a/99/

$(document).ready(function() { 
var showChar = 250; // How many characters are shown by default 
var ellipsestext = "..."; 
var rvwbody = jQuery(".reviewbody").html(); 
var c = rvwbody.substr(0, showChar); 
var h = rvwbody.substr(0, rvwbody.length); 

jQuery('.reviewbody').each(function() { 
    if (rvwbody.length > showChar) { 
    jQuery(".btnRead").show(); 
    jQuery(".reviewbody").html(h); 
} 
}); 
jQuery(".btnRead").click(function() { 
jQuery(".btnRead").html(jQuery('.btnRead').text() == 'Hide me' ? 'Show Me' : 'Hide me'); 
jQuery(".reviewbody").html(h); 
jQuery(".tstars").toggleClass("color"); 
console.log(h); 
}); 
}); 
+0

https://codepen.io/maxds/pen/jgeoAこの – Daidon

答えて

3

この

$(document).ready(function() { 
    var showChar = 250; // How many characters are shown by default 
    var ellipsestext = "..."; 
    var rvwbody = jQuery(".reviewbody").html(); 
    var c = rvwbody.substr(0, showChar); 
    var h = rvwbody; 

    jQuery('.reviewbody').each(function() { 
    if (rvwbody.length > showChar) { 
     jQuery(".btnRead").show(); 
     jQuery(".reviewbody").html(c); 
    } 
    }); 
    jQuery(".btnRead").click(function() { 
    jQuery(".btnRead").html(jQuery('.btnRead').text() == 'Hide me' ? 'Show Me' : 'Hide me'); 
    jQuery(".reviewbody").html(h); 
    jQuery(".tstars").toggleClass("color"); 
    console.log(h); 
    }); 
+0

を使用してください...私は申し訳ありませんしてみてください質問しても。変数をhからcに変更するのを忘れてしまった。助けてくれてありがとう、私はそれを逃したと信じられない! –