国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > CMS > 織夢DEDE > 正文

織夢模板DEDE首頁列表頁AJAX無限加載瀑布流修正版

2024-07-12 09:03:48
字體:
來源:轉載
供稿:網友
最近在學javascript,才慢慢開始讀懂JS代碼。對HTML前臺AJAX加載技術研究了一番,像博客站或者圖片站運用AJAX異步無限加載,做成瀑布流,提高用戶體驗,這是AJAX異步加載的優點。
AJAX異步加載的弊端:屬于WEB前端技術,蜘蛛不會抓JS調用的內容,也就是并不利于SEO優化。所以要運用這個功能的話最好有一部分直接調用,另一部分采用AJAX異步加載。
接下來用織夢來做AJAX異步加載WEB前端開發。網上有諸多教程,經過筆者整理,給出詳細說明,修正后分享給大家。
打開/plus/list.php,找到
require_once(dirname(__FILE__)."/../include/common.inc.php");
下面增加代碼
 
if(isset($_GET['ajax'])){$typeid = isset($_GET['typeid']) ? intval($_GET['typeid']): 0;//傳遞過來的分類ID$page = isset($_GET['page']) ? intval($_GET['page']): 0;//頁碼$pagesize = isset($_GET['pagesize']) ? intval($_GET['pagesize']): 15;//每頁多少條,也就是一次加載多少條數據$start = $page>0 ? ($page-1)*$pagesize : 0;//數據獲取的起始位置。即limit條件的第一個參數。$typesql = $typeid ? " WHERE typeid=$typeid" : '';//這個是用于首頁實現瀑布流加載,因為首頁加載數據是無需分類的,所以要加以判斷,如果無需$total_sql = "SELECT COUNT(id) as num FROM `dede_archives`  $typesql ";$temp = $dsql->GetOne($total_sql);$total = 0;//數據總數$load_num =0;if(is_array($temp)){$load_num= round(($temp['num']-15)/$pagesize);//要加載的次數,因為默認已經加載了$total = $temp['num'];}$sql = "SELECT a.*,t.typedir,t.typename,t.isdefault,t.defaultname,t.namerule,t.namerule2,t.ispart, t.moresite,t.siteurl,t.sitepathFROM `dede_archives` as a JOIN `dede_arctype` AS t ON a.typeid=t.id    $typesql ORDER BY id DESC LIMIT $start,$pagesize";//echo "$sql";$dsql->SetQuery($sql);$dsql->Execute('list');$statu = 0;//是否有數據,默認沒有數據$data = array();$index = 0;while($row = $dsql->GetArray("list")){$row['info'] = $row['info'] = $row['infos'] = cn_substr($row['description'],160);$row['id'] =  $row['id'];$row['filename'] = $row['arcurl'] = GetFileUrl($row['id'],$row['typeid'],$row['senddate'],$row['title'],$row['ismake'],$row['arcrank'],$row['namerule'],$row['typedir'],$row['money'],$row['filename'],$row['moresite'],$row['siteurl'],$row['sitepath']);$row['typeurl'] = GetTypeUrl($row['typeid'],$row['typedir'],$row['isdefault'],$row['defaultname'],$row['ispart'],$row['namerule2'],$row['moresite'],$row['siteurl'],$row['sitepath']);if($row['litpic'] == '-' || $row['litpic'] == ''){$row['litpic'] = $GLOBALS['cfg_cmspath'].'/images/defaultpic.gif';}if(!preg_match("#^http://#i", $row['litpic']) &&$GLOBALS['cfg_multi_site'] == 'Y'){$row['litpic'] = $GLOBALS['cfg_mainsite'].$row['litpic'];}$row['picname'] = $row['litpic'];//縮略圖$row['stime'] = GetDateMK($row['pubdate']);$row['typelink'] = "<a href='".$row['typeurl']."'>".$row['typename']."</a>";//分類鏈$row['fulltitle'] = $row['title'];//完整的標題$row['shorttitle'] = $row['shorttitle'];//副標題$row['title'] = cn_substr($row['title'], 60);//截取后的標題$data[$index] = $row;$index++;}if(!empty($data)){$statu = 1;//有數據}$result =array('statu'=>$statu,'list'=>$data,'total'=>$total,'load_num'=>$load_num);echo json_encode($result);//返回數據exit();}

模板文件增加內容
在需要用AJAX異步加載的模板的</head>前增加代碼
 
<script src="http://libs.baidu.com/jquery/1.9.0/jquery.js"></script><script type="text/javascript">var loadConfig = {url_api:'{dede:global.cfg_cmspath/}/plus/list.php', //修正plus目錄typeid:{dede:field name='typeid'/}, //首頁此處是typeid:0,page:2,pagesize:3,loading : 0,}function  loadMoreApply(){if(loadConfig.loading == 0){var typeid = loadConfig.typeid;var page = loadConfig.page;var pagesize = loadConfig.pagesize;var url = loadConfig.url_api,data={ajax:'pullload',typeid:typeid,page:page,pagesize:pagesize};var sTop = document.body.scrollTop || document.documentElement.scrollTop, dHeight = $(document).height(), cHeight = document.documentElement.clientHeight;console.log(dHeight);if (sTop + cHeight >= dHeight - cHeight) {loadConfig.loading = 1;function ajax(url, data) {$.ajax({url: url,data: data,async: false,type: 'GET',dataType: 'json',success: function(data) {addContent(data);}});}ajax(url,data);}}}function addContent (rs){if(rs.statu== 1){var data = rs.list;var total = rs.total;var arr=[];var length = data.length;for(var i=0;i<length;i++){arr.push('<li>');arr.push('<a href="'+data[i].arcurl+'" class="preview">');arr.push('<img class="" width="" height="" alt="data[i].title" src="'+data[i].picname+'" />');arr.push('</a>');arr.push('[<b>'+data[i].typelink+'</b>]');arr.push('<a href="'+data[i].arcurl+'" class="title">'+data[i].title+'</a>');arr.push('</li>');}$('.data-list').append(arr.join(''));loadConfig.load_num = rs.load_num;if(total<loadConfig.page*loadConfig.pagesize || loadConfig.page > loadConfig.load_num){window.removeEventListener('srcoll',loadMoreApply,false);}loadConfig.page++;loadConfig.loading = 0;}}function pullLoad(){window.addEventListener('scroll', loadMoreApply, false);}pullLoad();</script>

首頁HTML代碼示例 
注意:首頁模板用arclist標簽,用row='3'是初始化調用的3條;列表模板用list標簽,用pagesize='3'。模板里面的<div class="data-list“>與js里面的data-list對應,需要把循環部分全部包裹起來
 
查看源碼打印代碼幫助
<div class="listbox"><ul class="e2"><div class="data-list">{dede:arclist row='3'}<li> [field:array runphp='yes']@me = (empty(@me['litpic']) ? "" : "<a href='{@me['arcurl']}' class='preview'><img src='{@me['litpic']}'/></a>"); [/field:array][<b>[field:typelink/]</b>] <a href="[field:arcurl/]" class="title">[field:title/]</a> <span class="info"> <small>日期:</small>[field:pubdate function="GetDateTimeMK(@me)"/] <small>點擊:</small>[field:click/] <small>好評:</small>[field:scores/] </span><p class="intro"> [field:description/]... </p></li>{/dede:arclist}</div><!--data-list--></ul></div><!-- /listbox -->

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 东明县| 汉中市| 平乐县| 象州县| 福清市| 太和县| 宣汉县| 崇左市| 平乐县| 淄博市| 昌乐县| 丽江市| 汕头市| 武邑县| 桦川县| 双柏县| 达尔| 宝丰县| 安义县| 惠安县| 邛崃市| 宝坻区| 靖边县| 阳朔县| 嵊州市| 青龙| 廉江市| 阿拉善左旗| 达拉特旗| 临漳县| 梓潼县| 霍邱县| 饶阳县| 革吉县| 东安县| 察隅县| 南召县| 宁津县| 宁城县| 新巴尔虎右旗| 南漳县|