• espcms列表页ajax获取内容


    <link rel="stylesheet" href="swiper.min.css" type="text/css" media="screen" charset="utf-8">
    <script src="jQuery.js" type="text/javascript" charset="utf-8"></script>
    <script src="swiper.min.js" type="text/javascript" charset="utf-8"></script>

    ajax代码:


    {%forlist from=$array key=i%}
    <li> <h2 class="title">{%$array[i].title%}<span class="sign"></span></h2> <div class="detail type-details-small"> <div class="type-des ajaxlist" id="con-{%key=>i%}" data="{%$array[i].link%}"> ... </div> </div> </li> {%/forlist%} <script> function loadContent(mycon,myurl){ htmlobj=$.ajax({url:myurl,async:false}); $(mycon).html(htmlobj.responseText); } //ajax获取列表中每个文章的内页内容 $(function(){ $(".ajaxlist").each(function(index){ index++; loadContent("#con-"+index,$(this).attr("data")); //alert("#con-"+index); //alert($(this).attr("data")); }); }); </script>
    /********************************* 获取详情页相册 并初始化为一个个的swiper滑动 **************************************/
    
    {%link file="cn/public/head.html"%}
        <div class="menu-gaoxiao">
        {%get name=typelist class=tid:$type.tid,utid:23%}
           <ul>
            {%forlist from=$array key=i%}
                <li {%if $array[i].selected==1 %}class="hover"{%/if%}><a title="{%$array[i].typename%}" href="{%$array[i].link%}">{%$array[i].typename%}</a></li>  
            {%/forlist%}
           </ul>
        {%/get%}
        </div>
        <div class="inside-wrap">
        
            <!--手风琴效果-->
            <div class="gaoxiao" id="sfq-list">
                <p class="type-title">
                    宣讲会
                </p>
                <ul>
                {%forlist from=$array key=i%}
                    <li {%if key=>i==1%}class="hover"{%/if%}>
                        <h2 class="title">{%$array[i].title%}<span class="sign"></span></h2>
                        <div class="detail type-details-small" {%if key=>i>0%}style="display:block;"{%/if%}>
                            <div class="type-des ajaxlist" id="con-{%key=>i%}" data="{%$array[i].link%}">
                                ...
                            </div>
                        </div>
                    </li>
                {%/forlist%}
                </ul>
                <div class="clear"></div>
            </div>
            
            <script>
            function loadContent(mycon,myurl){
                htmlobj=$.ajax({url:myurl,async:false});
                $(mycon).html(htmlobj.responseText);
            }
            
            //ajax获取列表中每个文章的内容
            $(function(){            
                $(".ajaxlist").each(function(index){
                    index++;
                    loadContent("#con-"+index,$(this).attr("data"));
                    //alert("#con-"+index);
                    //alert($(this).attr("data"));
                    console.log("ajax--"+index);
                });
                console.log($(".ajaxlist").length);
                swiperall($(".ajaxlist").length);
            });
            //初始化本页面所有的swiper
            function swiperall(num){
                var sw = [];
                
                for (i=0; i<num;){
                    i++;
                    sw[i] = new Swiper('#con-'+i+' .swiper-gx.swiper-container', {
                        loop:true,
                        pagination : '#con-'+i+' .pagination',
                        autoplay: 3000,
                    });
                    //console.log(i);
                    
                }
                //console.log(num);
                
                $(".type-details-small").each(function(index){
                    if(index!=0){
                        $(this).hide();
                    }
                });
            }
            
            </script>
        </div>
    
        {%link file="cn/public/share.html"%}
        
        {%link file="cn/public/nav.html"%}
    </body>
    </html>

    思路:

    后台程序不能获取内容页中的相册,和详情。直接从前端入手。

    循环列表页的每篇内容,ajax出所有内容页里的相册图片,添加到列表中。

    然后循环这个列表,每条内容都初始化出swiper滑动。

    由于swiper似乎不能在display:none生效,而需求又是除第一篇内容其他都默认隐藏,所以默认都是display:block。最后再循环一遍,给非第一篇的加上display:none。

    程序暂时没有使用到swiper缓加载。

    也考虑可以增加一个点击列表项弹出相册区域的时候再进行内容加载,以加快页面载入速度。项目赶时间,暂时先这样了。

  • 相关阅读:
    算法--有序矩阵查找指定数
    算法--三色排序(经典的荷兰国旗问题)
    算法--两个有序数组合并
    Latex 学习之旅
    Windows 下安装 tensorflow & keras & opencv 的避坑指南!
    platform 模块
    `__pycache__` 是什么
    Markdown 实现首行缩进
    LaTex 小技巧
    LaTeX算法排版 笔记
  • 原文地址:https://www.cnblogs.com/woodk/p/4634325.html
Copyright © 2020-2023  润新知