/* * @Author: gxy * @Date: 2016-03-15 * @Edition: V1.0.2 (2016.03.17) * @Last Modified by: Administrator * @Last Modified time: 2016-03-25 09:29:21 */ /*更新内容*/ /* * 修改支持多个接口对接 */ ;(function($){ $.fn.extend({ //参数 //urlList: 列表页请求参数,添加列表页请求地址,如'sys_hotel_info/list' //urlDetail: 详情页请求参数,添加详情页请求地址,如'sys_hotel_info/detail' //currentPage: 列表页每一页所展示的数目 //template: 模板参数 //categoryId: 各分类ID,用以获取json里面数据 //firseClass: 页面加载的时触发第一个class点击 //css配合参数 /* * 1、在nav页面的a链接处,要写 data-id 值为1、2、3...... , title 值为链接所对应的分类 * 2、在列表页的时候在列表中 要写data-id 值为数据请求过来的id属性, data-uname 值为数据请求过来的 title属性 * */ //慈城列表详情页同一页面请求 listDetail:function(options){ //默认参数 var defaults = { urlList: ['cms_scenic_point/list','sys_hotel_info/detail'], urlDetail: ['sys_hotel_info/detail'], currentPage: 8, categoryId:['2d69c25a281d493bbbcb38af8968c180','4834d94d37d54333bb8fcd913f1ccd7e'], template: ['listCon','detailCon','threeCon','fourCon'], firseClass:'ccjj' }; var options = $.extend({}, defaults, options); return this.each(function(){ var obj = $(this), //对面外部引用的css名称 opt = options, //上面定义的options urlList = opt.urlList, //对应上面defaults中的定义 urlDetail = opt.urlDetail, currentPage = opt.currentPage, categoryId = opt.categoryId, template = opt.template, firseClass = opt.firseClass; /*定义动作函数*/ var navEffect = function(){ var myTemplate = $("#list").html(); obj.click(function(){ var _index = $(this).index('.js-nav a') - 1, _id = $(this).attr('data-id'), _title = $(this).attr('title'); //根据urlList的长度来判断是一个接口还是多个接口,如果多个则按照所点击的a来选择接口 if(urlList.length == 1){ var thisUrl = urlList, thisDetail = urlDetail; }else{ var thisUrl = urlList[_index], thisDetail = urlDetail[_index]; }; //选中大标题的时候返回false if(_id == undefined){ return false } /*标题选中效果*/ $(this).addClass('active').siblings().removeClass('active'); //开始读取模板 if(_id == _id){ if(_id == 1){ //列表页的时候 //先清空内容区域 $('#list').html(''); //请求数据加载-分页 var req = new $req(); req.callBack = function(result) { console.log(result) $('.loader').hide(); var list = result.data; //如没有title,则把title写入list result.data.subClass = _title; //给图片加.jpg后缀名,再加入数据 // $.each(list.list,function(i,o){ // var pics = o.article_pic + '.jpg'; // o.pic = pics // }); $("#list").html(myTemplate); $("#list").setTemplateElement(template[0], null, { filter_data: false }); $('#list').setParam("imgDomain", imgDomain); $('#list').processTemplate(list); $(".fr").html(initPageBar(result, req)); //点击进入详情页 $('.list >li a').click(function(){ var detailId = $(this).find('#goDetail').attr('data-id'), dataUname =$(this).find('#goDetail').attr('data-uname'); //清空内容区域 $('#list').html(''); //请求数据-详情模块 var ajax = new $Ajax(); ajax.url = domain + thisDetail+'?id='+detailId, ajax.callBack = function(data){ console.log(data) var dataAll = data.data; //把图片用逗号分隔组成数组,然后放到dataAll里面去 var pics = dataAll.article_pics.split(','); // var picAll = []; // $.each(pics,function(i,o){ // var picArr = o+'.jpg'; // picAll.push(picArr) // }) dataAll.pics = pics; //把没有的属性写入数据 dataAll.subClass = _title; dataAll.spot = dataUname; $("#list").html(myTemplate); $("#list").setTemplateElement(template[1], null, { filter_data: false }); $('#list').setParam("imgDomain", imgDomain); $('#list').processTemplate(dataAll); /*滚动条*/ scrollFn() //图片滚动 $('.inside').slides(insideArr); }, ajax.load(); }) } $(function() { req.url = domain + thisUrl + '?type='+categoryId[_index]; req.page = { page_size: currentPage }; req.load(1); }); }else if(_id == 2){ //详情页的时候 //先清空内容区域 $('#list').html(''); //等待菊花 $('.loader').show(); //请求数据-详情模块 var ajax = new $Ajax(); ajax.url = domain + thisUrl+'?type='+categoryId[_index], ajax.callBack = function(data){ $('.loader').hide(); var dataAll = data.data.list[0]; dataAll.subClass = _title; //把图片用逗号分隔组成数组,然后放到dataAll里面去 var pics = dataAll.article_pics.split(','); // var picAll = []; // $.each(pics,function(i,o){ // var picArr = o+'.jpg'; // picAll.push(picArr) // }) dataAll.pics = pics; //console.log(dataAll) $("#list").html(myTemplate); $("#list").setTemplateElement(template[1], null, { filter_data: false }); $('#list').setParam("imgDomain", imgDomain); $('#list').processTemplate(dataAll); /*滚动条*/ scrollFn() //图片滚动 $('.inside').slides(insideArr); }, ajax.load(); }else{ //第N个模板 //先清空内容区域 $('#list').html(''); //等待菊花 $('.loader').show(); //请求数据 var ajax = new $Ajax(); ajax.url = domain + thisUrl+'?type='+categoryId[_index], ajax.callBack = function(data){ //console.log(data) //把_id转换成number格式,然后放入下方,以读取相对应的模块 var idNum = parseInt(_id)-1; $('.loader').hide(); var dataAll = data.data, dataList = dataAll.list; //给图片加.jpg后缀名,再加入数据 // $.each(dataList,function(i,o){ // var pics = o.article_pic + '.jpg'; // o.pic = pics // }); //如没有title,则把title写入list data.data.subClass = _title; $("#list").html(myTemplate); $("#list").setTemplateElement(template[idNum], null, { filter_data: false }); $('#list').setParam("imgDomain", imgDomain); $('#list').processTemplate(dataAll); }, ajax.load(); } } }) }; //页面加载就执行 navEffect(); //滚动条 function scrollFn(){ $("#sucai").niceScroll({ cursorcolor: "#333333", cursoropacitymax: 1, touchbehavior: false, cursorwidth: "10px", cursorborder: "0", cursorborderradius: "10px" }); }; //页面加载则出发第一个点击事件 if(obj.hasClass(firseClass)){ $(this).click(); }; }); } }); })(jQuery);