2016-11-21 199 views
0

我正在处理更多/更少的jQuery文本按钮。当我的jQuery脚本加载时,我只想显示div中的部分文本。在这种情况下,最初要隐藏的任何文本> 650个字符。我无法弄清楚如何使用jQuery隐藏超出该限制的文本。另外,我正在尝试创建一个函数,在单击按钮时显示div中的其他文本。然后,当单击相同的按钮时,文本将只显示最初显示的内容。jQuery隐藏/显示更多按钮

我有一个小提琴,我一直在努力,可能是在正确的轨道上,但我不确定是否是这种情况。

如果您有任何建议,请让我知道。

小提琴------ 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。感谢您的帮助,我不能相信我错过了! –