zoukankan      html  css  js  c++  java
  • 文章内容页点击“展开阅读全文”的实现代码

    在做事业单位招聘信息网的时候,由于内容采集自其它网站,为了增加页面原创度,一方面是填充更多新内容,比如相关文章、最新文章;另一方面是减少重复内容,比如只展示部分内容,需要点击才能看到全文。

    网上有现成的jQuery插件可以实现需要的效果,但源码中还是一次性加载出来了,对于搜索引擎爬虫依旧是全文可见。所以,我的实现思路是访问页面时加载部分内容,点击“展开阅读全文”再加载剩余部分内容。

    完整代码如下

    JS代码

    function pd(ele,bili){//ele是展开阅读全文的点击按钮,bili是高度比例,一般为1
        var n = $("div.article_content"),
        e = n.children(),
        l = e.length, //获取内容区域子元素的数量
        h=0,c=0; //h是显示区域的高度,c是计数器,显示多少个元素
        if (l > 20){
            e.each(function(){
                c += 1;
                if (c<=20){h += $(this).height()}
            })
            n.css({//设置显示区域的高度
                height: h * bili + "px",
                overflow: "hidden"
            })
        }else{ele.parent().remove()}//少于20个元素就不用隐藏
    }
    
    (function(){
    var i = $(".btn-readmore"), //展开阅读全文的点击按钮
    n = $("div.article_content");
    i.click(function(){
      $(this).parent().remove();//取消隐藏
      n.css({height:'auto',});//高度自适应
      n.after('{{lisnext|safe}}')//插入剩余内容,{{lisnext|safe}}是flask的调用内容,其他框架的自行修改。
    })
    pd(i, 1)
    })()

    HTML代码

    <div class="article_content">{{lispre|safe}}</div>
    <div class="hide-article-box hide-article-pos text-center">
      <a class="btn-readmore">
        展开阅读全文
        <i class="layui-icon layui-icon-down" style="font-size: 18px; color: #ca0c16;vertical-align:middle;"></i>  
      </a>
    </div>
  • 相关阅读:
    ARM9嵌入式学习日志--20170828
    技术积累
    做产品还是做技术?
    python学习之一
    他山之石——面试非技术问题整理(持续更新中)
    他山之石——面试技术问题整理(持续更新中)
    .bss .text和.data简介
    linux学习——大话linux网络
    实用的技术网站
    linux学习——centos minimal安装vim
  • 原文地址:https://www.cnblogs.com/newgold/p/11751207.html
Copyright © 2011-2022 走看看