Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/430.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 动态隐藏和显示更多文本,最多显示特定字符_Javascript_Html_Css - Fatal编程技术网

Javascript 动态隐藏和显示更多文本,最多显示特定字符

Javascript 动态隐藏和显示更多文本,最多显示特定字符,javascript,html,css,Javascript,Html,Css,我正在制作这个脚本,它隐藏了一个超过100个字符的div的文本,并显示了一个“more”链接,onclick显示了更多的文本 问题是,当前onclick会显示所有剩余的文本,而我希望它只显示100个字符,如果div包含更多文本,则会保留更多文本的“more”链接,直到手动显示div的所有文本 简而言之,如果一个div有500个字符的文本,我希望more链接显示5次,每100个字符显示一次 javascript是: $(document).ready(function() { var sh

我正在制作这个脚本,它隐藏了一个超过100个字符的div的文本,并显示了一个“more”链接,onclick显示了更多的文本

问题是,当前onclick会显示所有剩余的文本,而我希望它只显示100个字符,如果div包含更多文本,则会保留更多文本的“more”链接,直到手动显示div的所有文本

简而言之,如果一个div有500个字符的文本,我希望more链接显示5次,每100个字符显示一次

javascript是:

$(document).ready(function() {
    var showChar = 100;
    var ellipsestext = "...";
    var moretext = "more";
    var lesstext = "less";
    $('.more').each(function() {
        var content = $(this).html();

        if(content.length > showChar) {

            var c = content.substr(0, showChar);
            var h = content.substr(showChar-1, content.length - showChar);

            var html = c + '<span class="moreelipses">'+ellipsestext+'</span>&nbsp;<span class="morecontent"><span>' + h + '</span>&nbsp;&nbsp;<a href="" class="morelink">'+moretext+'</a></span>';

            $(this).html(html);
        }

    });

    $(".morelink").click(function(){
        if($(this).hasClass("less")) {
            $(this).removeClass("less");
            $(this).html(moretext);
        } else {
            $(this).addClass("less");
            $(this).html(lesstext);
        }
        $(this).parent().prev().toggle();
        $(this).prev().toggle();
        return false;
    });
});
$(文档).ready(函数(){
var-showChar=100;
var ellipseText=“…”;
var moretext=“更多”;
var lesstext=“less”;
$('.more')。每个(函数(){
var content=$(this.html();
如果(content.length>showChar){
var c=content.substr(0,showChar);
var h=content.substr(showChar-1,content.length-showChar);
var html=c+''+ellipseText+''+h+'';
$(this).html(html);
}
});
$(“.morelink”)。单击(函数(){
if($(this).hasClass(“更少”)){
$(此).removeClass(“更少”);
$(this.html(moretext);
}否则{
$(此).addClass(“更少”);
$(this.html(lesstext);
}
$(this.parent().prev().toggle();
$(this.prev().toggle();
返回false;
});
});
谢谢你的帮助。

我希望这对你有帮助

$(文档).ready(函数(){
var-showChar=100;
$(“.more”).each(函数(){
var content=$(this.html();
如果(content.length>showChar){
var-arr=[];
var-pos=0;
对于(变量i=0;i

我正在制作这个脚本,它隐藏了一个超过100个字符的div的文本,并显示了一个“more”链接,onclick显示了更多的文本。问题是,目前onclick会显示所有剩余的文本,而我希望它只显示100个
更多字符,如果div包含更多文本,则保留更多文本的“更多”链接,直到手动显示div的所有文本。简而言之,如果一个div有500个字符的文本,我希望more链接显示5次,每100个字符显示一次。
javascript是: