Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/476.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_Substring - Fatal编程技术网

Javascript 阅读更多脚本问题

Javascript 阅读更多脚本问题,javascript,jquery,substring,Javascript,Jquery,Substring,我目前正在阅读更多的脚本,但我有3个小问题 如果我在第一次直接弹出文本而不是切换动画(动画未显示)时单击链接,为什么 我如何确保没有像br、b、段落等那样被剪切的html标记 目前链接的位置也有一个小问题。不知怎的,在第三次点击后,链接出现在一个新行上。如果我查看源代码(在浏览器中),我会看到有一个显示:块,但我没有在此处添加任何设计,除了该设计: $(document).ready(function() { var readMoreText = "Read more..",

我目前正在阅读更多的脚本,但我有3个小问题

  • 如果我在第一次直接弹出文本而不是切换动画(动画未显示)时单击链接,为什么
  • 我如何确保没有像
    br
    b
    段落等那样被剪切的html标记
  • 目前链接的位置也有一个小问题。不知怎的,在第三次点击后,链接出现在一个新行上。如果我查看源代码(在浏览器中),我会看到有一个
    显示:块
    ,但我没有在此处添加任何设计,除了该设计:

    $(document).ready(function() {
        var readMoreText = "Read more..",
            readLessText = "Read less..";
    
        $(".entry-text").each(function() {    
            var link = $("<a href='' class='read-more'>Read more..</a>");
    
            if($(this).text().length > 700) 
            {
                $(this).html("<span>" + $(this).html().substr(0, 700) + "</span><span style='display: none'>" + $(this).html().substr(150) + "</span>");
                $(this).append("&nbsp;");
                $(this).append(link);
            }
        });   
    
        $(document).on("click", "a.read-more", function(event) {
            event.preventDefault();
    
            if($(this).text() == readMoreText)
                $(this).text(readLessText).prev().slideToggle("fast");
            else
                $(this).text(readMoreText).prev().slideToggle("fast");
        });
    });
    
    $(文档).ready(函数(){
    var readMoreText=“阅读更多…”,
    readLessText=“少读…”;
    $(“.entry text”).each(函数(){
    变量链接=$(“”);
    如果($(this).text().length>700)
    {
    $(this.html(“+$(this.html().substr(0700)++$(this.html().substr(150)+”);
    $(此)。追加(“”);
    $(此).append(链接);
    }
    });   
    $(文档)。在(“单击”,“a.read-more”,函数(事件){
    event.preventDefault();
    if($(this).text()==readMoreText)
    $(this).text(readLessText).prev().slideToggle(“fast”);
    其他的
    $(this).text(readMoreText).prev().slideToggle(“fast”);
    });
    });
    

  • 编辑:添加了一个JSFIDLE:

    请向我们显示相关的HTML。您可能只能在块级元素上使用一些动画操作,而不能在内联元素上使用。我现在添加了一个JSFIDLE,但不知何故,我的第一个问题没有出现在那里,但我无法发布所有html和css内容,这太多了。好吧,sry我错了,这个错误也存在于JSFIDLE示例中。