Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/81.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_Jquery_Mobile - Fatal编程技术网

使用“;阅读更多”;使用javascript的链接

使用“;阅读更多”;使用javascript的链接,javascript,jquery,mobile,Javascript,Jquery,Mobile,我有一个文本,我想使用JavaScript通过“阅读更多”链接动态缩短文本。我使用以下JavaScript代码: var limitDesc = -1; function ResponsiveDesc() { //var limitDesc = 100; //var isHTML = RegExp.prototype.test.bind(/(<([^>]+)>)/i); var chars = $("#ResponsiveDescription").html(); if (ch

我有一个文本,我想使用JavaScript通过“阅读更多”链接动态缩短文本。我使用以下JavaScript代码:

var limitDesc = -1;
function ResponsiveDesc() {
//var limitDesc = 100;
//var isHTML = RegExp.prototype.test.bind(/(<([^>]+)>)/i);
var chars = $("#ResponsiveDescription").html();
if (chars.length > limitDesc) {
    var visiblePart = $("<span> " + chars.substr(0, limitDesc - 1) + "   </span>");
    var dots = $("<span class='dots'>... </span>");
    var hiddenPart = $("<span class='more'>" + chars.substr(limitDesc - 1) + "</span>");
    var readMore = $("<span class='read-more'>More</span>");

    readMore.click(function () {
        $(this).prev().remove(); // remove dots
        $(this).next().show(); //show hiddenPart
        $(this).remove(); // remove readMore
    });

    $("#ResponsiveDescription").empty()
        .append(visiblePart)
        .append(dots)
        .append(readMore)
        .append(hiddenPart);
}
}
$(document).ready(function () {
if (limitDesc > 0 && $(window).width() < 500) {
    ResponsiveDesc();
}
});
var limitDesc=-1;
函数ResponsiveDesc(){
//var limitDesc=100;
//var isHTML=RegExp.prototype.test.bind(/(]+>)/i);
var chars=$(“#ResponsiveDescription”).html();
如果(字符长度>限制描述){
var visiblePart=$(“”+chars.substr(0,limitDesc-1)+”);
变量点=$(“..”);
var hiddenPart=$(“”+chars.substr(limitDesc-1)+“”);
var readMore=$(“更多”);
readMore.单击(函数(){
$(this.prev().remove();//删除点
$(this).next().show();//show hiddenPart
$(this).remove();//删除readMore
});
$(“#ResponsiveDescription”).empty()
.append(可视部分)
.附加(点)
.append(readMore)
.附加(隐藏部分);
}
}
$(文档).ready(函数(){
如果(limitDesc>0&&$(窗口).width()<500){
ResponsiveDesc();
}
});
主要问题是,我不知道这个代码是如何在一个词或一个链接中间剪断文本的。解决这个问题的最好办法是什么? 我可以手动更改每个页面上的“limitDesc”变量,但当页面内容是动态的时,这是不可能的。
提前谢谢你

可以在长度限制之前的最后一个空格处拆分字符串。 您可以使用
lastIndexOf()
确定它:


为什么不使用jQuery.dotdot()?
limitDesc = chars.lastIndexOf(" ", limitDesc);