/tpl/static/wap/estate/picroll.js
JavaScript | 395 lines | 342 code | 0 blank | 53 comment | 47 complexity | 1322201317a8b6f3116d909be0ce9723 MD5 | raw file
- var FCAPP = FCAPP || {},
- myScroll;
- FCAPP.HOUSE = FCAPP.HOUSE || {};
- FCAPP.HOUSE.Picroll = {
- CONFIG: {
- zoomTime: 200
- },
- RUNTIME: {
- findCategory: false
- },
- init: function() {
- var R = Picroll.RUNTIME;
- if (!R.binded) {
- R.binded = true;
- Picroll.initElements(R);
- Picroll.bindEvents(R);
- R.detailState = 'hide';
- R.zoomed = false;
- R.template = FCAPP.Common.escTpl($('#template').html());
- R.imgDom = [];
- R.w = document.documentElement.clientWidth;
- R.h = document.documentElement.clientHeight;
- window.shareData = window.shareData || {};
- R.isWeixin = /MicroMessenger/.test(navigator.userAgent);
- if (R.isWeixin) {
- R.zoomBtn.hide();
- R.downBtn.hide();
- R.zoomDiv.hide();
- } else {
- R.zoomBtn.show();
- R.downBtn.show();
- }
- }
- // Picroll.loadData();
- // var id = '';
- // window.shareData.linkKeep = '/Webestate/Housedata/pid/'+PID+'/wechatid/'+WECHATID;
- // window.shareData.link = window.shareData.linkKeep;
- // if (window.gQuery && gQuery.id) {
- // id = gQuery.id;
- // window.shareData.link += '&id=' + id;
- // window.shareData.linkKeep += '&id=' + id;
- // }
- // if (window.gQuery && gQuery.houseid) {
- // window.shareData.link += '&houseid=' + gQuery.houseid;
- // window.shareData.linkKeep += '&houseid=' + gQuery.houseid;
- // }
- // FCAPP.Common.loadShareData(id);
- // FCAPP.Common.hideToolbar();
- },
- initElements: function(R) {
- R.picDetail = $('#picDetail');
- R.detailCav = $('#detailContainer');
- R.closeBtn = $('a.btn_show_close');
- R.zoomBtn = $('a.btn_zoom_out');
- R.popTips = $('#popTips');
- R.downBtn = $('a.btn_down');
- R.picTank = $('#picTank');
- R.zoomDiv = $('#zoomDiv');
- },
- bindEvents: function(R) {
- R.closeBtn.click(Picroll.closePage);
- R.zoomBtn.click(Picroll.zoomPic);
- R.downBtn.click(Picroll.downPic);
- $(window).resize(Picroll.resizeLayout);
- FCAPP.Common.resizeLayout(R.popTips);
- },
- resizeLayout: function() {
- var R = Picroll.RUNTIME,
- t = R.loadSize.length;
- R.w = document.documentElement.clientWidth;
- R.h = document.documentElement.clientHeight;
- t *= R.w;
- R.picTank.css({
- width: t + 'px',
- height: R.h + 'px'
- });
- for (var i = 0,
- il = R.imgDom.length; i < il; i++) {
- Picroll.loadedImgProcess(R.imgDom[i]);
- }
- FCAPP.Common.resizeLayout(R.noticeDiv);
- try {
- myScroll.refresh();
- } catch(e) {}
- },
- closePage: function() {
- FCAPP.Common.jumpTo('house.html', {
- '#wechat_webview_type': 1
- },
- true);
- },
- switchDetail: function() {
- var R = Picroll.RUNTIME;
- if (R.detailState == 'hide') {
- R.detailState = 'show';
- R.detailCav.addClass('type_full');
- R.closeBtn.hide();
- R.zoomBtn.hide();
- R.downBtn.hide();
- } else {
- R.detailState = 'hide';
- R.detailCav.removeClass('type_full');
- if (!R.isWeixin) {
- R.closeBtn.show();
- R.zoomBtn.show();
- R.downBtn.show();
- }
- }
- },
- // loadData: function() {
- // window.showRooms = Picroll.showRooms;
- // var datafile = window.gQuery && gQuery.id ? gQuery.id + '.': '',
- // dt = new Date();
- // datafile = datafile.replace(/[<>\'\"\/\\&#\?\s\r\n]+/gi, '');
- // datafile += 'rooms.js?';
- // $.ajax({
- // //url: 'http://trade.qq.com/fangchan/static/' + datafile + dt.getDate() + dt.getHours(),
- // url: '/Webestate/Housedata/pid/'+PID+'/wechatid/'+WECHATID,
- // dataType: 'jsonp',
- // error: function() {
- // FCAPP.Common.msg(true, {
- // msg: '数据加载失败!'
- // });
- // }
- // });
- // },
- showRooms: function(res) {
- var R = Picroll.RUNTIME,
- data, idx = -1,
- find = false;
- FCAPP.Common.hideLoading();
- data = res.rooms;
- for (var i = 0, il = data.length; i < il; i++) {
- if (data[i].id == gQuery.houseid) {
- idx = i;
- break;
- }
- }
- if (idx == -1) {
- FCAPP.Common.msg(true, {
- msg: '没找到该户型'
- });
- } else {
- find = true;
- Picroll.renderPics(data[idx]);
- }
- R.findCategory = find;
- R.closeBtn.show();
- },
- renderPics: function(room) {
- var R = Picroll.RUNTIME,
- List = [],
- pics = room.pics || [],
- detail = '',
- imgdata = 'src="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw=="';
- R.loadSize = [];
- R.Img = [];
- R.ImgName = [];
- window.shareData.desc = '户型【平面】-' + room.desc.replace(/\.jpe?g$/gi, '') + ' ' + room.name.replace(/\.jpe?g$/gi, '');
- window.shareData.descKeep = '户型【平面】-' + room.desc.replace(/\.jpe?g$/gi, '') + ' ' + room.name.replace(/\.jpe?g$/gi, '');
- room.total = 1 + pics.length;
- detail = $.template(R.template, {
- data: room
- });
- List.push('<img id="pic0" idx="pic0" width="' + R.w + '" border="0" height="' + R.h + '" ' + imgdata + '>');
- R.Img.push(room.bimg);
- R.ImgName.push([1 + '/' + (pics.length + 1), room.desc.replace(/\.jpe?g$/gi, ''), room.name.replace(/\.jpe?g$/gi, '')]);
- R.loadSize.push({
- w: room.width,
- h: room.height
- });
- for (var i = 0,
- il = pics.length; i < il; i++) {
- List.push('<img id="pic' + (1 + i) + '" idx="pic' + (1 + i) + '" width="' + R.w + '" border="0" height="' + R.h + '" ' + imgdata + '>');
- R.Img.push(pics[i].img);
- R.ImgName.push([(i + 2) + '/' + (il + 1), pics[i].name.replace(/\.jpe?g$/gi, ''), room.name.replace(/\.jpe?g$/gi, '')]);
- R.loadSize.push({
- w: pics[i].width,
- h: pics[i].height
- });
- }
- R.picTank.html(List.join(''));
- R.picDetail.html(detail);
- FCAPP.Common.loadImg(R.Img[0], 'pic0', Picroll.loadedImgProcess);
- R.picTank.css('width', R.w * R.Img.length + 'px');
- Picroll.initScroll();
- },
- renderMsg: function(idx) {
- var R = Picroll.RUNTIME;
- if (!R.idxCav) {
- R.idxCav = $('#typeNum');
- }
- if (R.ImgName[idx]) {
- R.idxCav.html(R.ImgName[idx].slice(0, 2).join(' '));
- }
- },
- // downPic: function() {
- // var R = Picroll.RUNTIME;
- // if (!R.findCategory) {
- // return;
- // }
- // if (R.pic) {
- // window.sendMsgResult = Picroll.sendMsgResult;
- // var data = {
- // cmd: 'picsend',
- // appid: window.gQuery && gQuery.appid ? gQuery.appid: '',
- // wticket: window.gQuery && gQuery.wticket ? gQuery.wticket: '',
- // picurl: R.pic,
- // picname: R.picName,
- // callback: 'sendMsgResult'
- // };
- // $.ajax({
- // url: 'http://cgi.trade.qq.com/cgi-bin/common/weixin_helper.fcg?' + $.param(data),
- // dataType: 'jsonp'
- // });
- // }
- // },
- sendMsgResult: function(res) {
- if (res.ret == 0) {
- FCAPP.Common.msg(true, {
- msg: '已发送这张图片给你的微信'
- });
- } else {
- FCAPP.Common.msg(true, {
- msg: '保存失败,请稍后尝试'
- });
- }
- },
- zoomPic: function() {
- var R = Picroll.RUNTIME,
- C = Picroll.CONFIG;
- if (!R.findCategory) {
- return;
- }
- if (R.zoomed) {
- Picroll.zoomOut(R, C.zoomTime);
- } else {
- Picroll.zoomIn(R, C.zoomTime);
- }
- },
- zoomIn: function(R, timeout) {
- R.zoomed = true;
- var idx = myScroll.currPageX,
- src = R.Img[idx],
- w = R.imgDom[idx].width * 2,
- h = R.imgDom[idx].height * 2;
- cw = Math.max(w, R.w);
-