320 lines
9.4 KiB
JavaScript
Executable File
320 lines
9.4 KiB
JavaScript
Executable File
var isjiazai = 1;
|
||
var type = '';
|
||
var page = 1
|
||
|
||
mui.plusReady(function() {
|
||
var self = plus.webview.currentWebview();
|
||
var data_id = self.goodsId;
|
||
// //console.log(data_id)
|
||
|
||
function getData(page, pagesize, type) {
|
||
var set_data = {
|
||
goodsId: data_id,
|
||
type: type ? type : '',
|
||
page: page ? page : 1,
|
||
pagesize: pagesize ? pagesize : 10
|
||
}
|
||
if (isjiazai == 1) {
|
||
isjiazai = 0
|
||
|
||
} else {
|
||
return;
|
||
}
|
||
mui.ajax(qlgUrl('app/goodsappraises/getById'), {
|
||
|
||
data: set_data,
|
||
dataType: 'json', //服务器返回json格式数据
|
||
type: 'post', //HTTP请求类型
|
||
timeout: 10000, //超时时间设置为10秒;
|
||
success: function(data) { //服务器返回响应,根据响应结果,分析是否登录成功;
|
||
var data = toJson(data);
|
||
var html = '';
|
||
|
||
if (data.status == 1) {
|
||
data = data.data;
|
||
$('#sum').html('全部(' + data.sum + ')');
|
||
$('#pic').html('有图(' + data.picNum + ')');
|
||
$('#bad').html('差评(' + data.badNum + ')');
|
||
$('#good').html('中评(' + data.goodNum + ')');
|
||
$('#best').html('好评(' + data.bestNum + ')');
|
||
if (data.Rows == '') {
|
||
if (page == 1) {
|
||
$('.pj_list').html('<p style="float: left;width: 100%;text-align: center;padding-bottom: 9px;">没有更多评价</p>');
|
||
} else {
|
||
$('.pj_list').append(
|
||
'<p style="float: left;width: 100%;text-align: center;padding-bottom: 9px;">没有更多评价</p>');
|
||
}
|
||
|
||
isjiazai = 0;
|
||
return;
|
||
}
|
||
$.each(data.Rows, function() {
|
||
|
||
var userImg = '';
|
||
if (this.userPhoto) {
|
||
userImg = hyhImgUrl(this.userPhoto);
|
||
} else {
|
||
userImg = '../img/mujiimg.png'
|
||
}
|
||
|
||
html += '<div class="pj_breviary"><div class="pjbtitle clearfix"><img src="' + userImg + '" /><p>' + this.loginName +
|
||
'</p></div><div class="pjbcon">' + this.content + '</div>';
|
||
|
||
if (this.shopReply != null) {
|
||
html += '<div class="zjpj"><div class="sanjiao"></div><div class="pjzhuijia">商家回复:' + this.shopReply +
|
||
'</div></div>';
|
||
}
|
||
html += '<div class="pjclass">' + this.goodsSpecNames + '</div><div class="pjclass">' + this.createTime +
|
||
'</div>';
|
||
if (this.images != '' && this.images != null) {
|
||
html += '<div class="gallety"><div class="my-gallery clearfix" data-pswp-uid="">';
|
||
var imgArr = this.images.split(',');
|
||
$.each(imgArr, function() {
|
||
html += '<figure><div class="img-dv"><a href="' + hyhImgUrl(this) +
|
||
'/thumb512" data-size="1920x1080"><img src="' + hyhImgUrl(this) + '/thumb78"></a></div></figure>';
|
||
// //console.log(hyhImgUrl(this))
|
||
});
|
||
|
||
html += '</div></div>';
|
||
}
|
||
|
||
html += '</div>';
|
||
|
||
});
|
||
if (page == 1) {
|
||
$('.pj_list').html(html);
|
||
} else {
|
||
$('.pj_list').append(html);
|
||
}
|
||
|
||
isjiazai = 1;
|
||
|
||
setTimeout(function() {
|
||
$('.img-dv a').each(function() {
|
||
var that = $(this);
|
||
var img_ = new Image()
|
||
img_.src = that.attr('href');
|
||
img_.onload = function() {
|
||
that.attr('data-size', img_.width + 'x' + img_.height);
|
||
}
|
||
});
|
||
document.addEventListener('DOMAttrModified', function() {
|
||
$('.img-dv a').each(function() {
|
||
var that = $(this);
|
||
var img_ = new Image()
|
||
img_.src = that.attr('href');
|
||
img_.onload = function() {
|
||
that.attr('data-size', img_.width + 'x' + img_.height);
|
||
}
|
||
});
|
||
}, false);
|
||
|
||
var initPhotoSwipeFromDOM = function(gallerySelector) {
|
||
// 解析来自DOM元素幻灯片数据(URL,标题,大小...)
|
||
var parseThumbnailElements = function(el) {
|
||
var thumbElements = el.childNodes,
|
||
numNodes = thumbElements.length,
|
||
items = [],
|
||
figureEl,
|
||
linkEl,
|
||
size,
|
||
item,
|
||
divEl;
|
||
for (var i = 0; i < numNodes; i++) {
|
||
figureEl = thumbElements[i]; // <figure> element
|
||
// 仅包括元素节点
|
||
if (figureEl.nodeType !== 1) {
|
||
continue;
|
||
}
|
||
divEl = figureEl.children[0];
|
||
linkEl = divEl.children[0]; // <a> element
|
||
size = linkEl.getAttribute('data-size').split('x');
|
||
// 创建幻灯片对象
|
||
item = {
|
||
src: linkEl.getAttribute('href'),
|
||
w: parseInt(size[0], 10),
|
||
h: parseInt(size[1], 10)
|
||
// w: '100%'
|
||
};
|
||
if (figureEl.children.length > 1) {
|
||
item.title = figureEl.children[1].innerHTML;
|
||
}
|
||
if (linkEl.children.length > 0) {
|
||
// <img> 缩略图节点, 检索缩略图网址
|
||
item.msrc = linkEl.children[0].getAttribute('src');
|
||
}
|
||
item.el = figureEl; // 保存链接元素 for getThumbBoundsFn
|
||
items.push(item);
|
||
}
|
||
return items;
|
||
};
|
||
|
||
// 查找最近的父节点
|
||
var closest = function closest(el, fn) {
|
||
return el && (fn(el) ? el : closest(el.parentNode, fn));
|
||
};
|
||
|
||
// 当用户点击缩略图触发
|
||
var onThumbnailsClick = function(e) {
|
||
e = e || window.event;
|
||
e.preventDefault ? e.preventDefault() : e.returnValue = false;
|
||
var eTarget = e.target || e.srcElement;
|
||
var clickedListItem = closest(eTarget, function(el) {
|
||
return (el.tagName && el.tagName.toUpperCase() === 'FIGURE');
|
||
});
|
||
if (!clickedListItem) {
|
||
return;
|
||
}
|
||
var clickedGallery = clickedListItem.parentNode,
|
||
childNodes = clickedListItem.parentNode.childNodes,
|
||
numChildNodes = childNodes.length,
|
||
nodeIndex = 0,
|
||
index;
|
||
for (var i = 0; i < numChildNodes; i++) {
|
||
if (childNodes[i].nodeType !== 1) {
|
||
continue;
|
||
}
|
||
if (childNodes[i] === clickedListItem) {
|
||
index = nodeIndex;
|
||
break;
|
||
}
|
||
nodeIndex++;
|
||
}
|
||
if (index >= 0) {
|
||
openPhotoSwipe(index, clickedGallery);
|
||
}
|
||
return false;
|
||
};
|
||
|
||
var photoswipeParseHash = function() {
|
||
var hash = window.location.hash.substring(1),
|
||
params = {};
|
||
if (hash.length < 5) {
|
||
return params;
|
||
}
|
||
var vars = hash.split('&');
|
||
for (var i = 0; i < vars.length; i++) {
|
||
if (!vars[i]) {
|
||
continue;
|
||
}
|
||
var pair = vars[i].split('=');
|
||
if (pair.length < 2) {
|
||
continue;
|
||
}
|
||
params[pair[0]] = pair[1];
|
||
}
|
||
if (params.gid) {
|
||
params.gid = parseInt(params.gid, 10);
|
||
}
|
||
return params;
|
||
};
|
||
|
||
var openPhotoSwipe = function(index, galleryElement, disableAnimation, fromURL) {
|
||
var pswpElement = document.querySelectorAll('.pswp')[0],
|
||
gallery,
|
||
options,
|
||
items;
|
||
items = parseThumbnailElements(galleryElement);
|
||
// 这里可以定义参数
|
||
options = {
|
||
barsSize: {
|
||
top: 100,
|
||
bottom: 100
|
||
},
|
||
fullscreenEl: false,
|
||
shareButtons: [{
|
||
id: 'wechat',
|
||
label: '分享微信',
|
||
url: '#'
|
||
},
|
||
{
|
||
id: 'weibo',
|
||
label: '新浪微博',
|
||
url: '#'
|
||
},
|
||
{
|
||
id: 'download',
|
||
label: '保存图片',
|
||
url: '{{raw_image_url}}',
|
||
download: true
|
||
}
|
||
],
|
||
galleryUID: galleryElement.getAttribute('data-pswp-uid'),
|
||
getThumbBoundsFn: function(index) {
|
||
var thumbnail = items[index].el.getElementsByTagName('img')[0], // find thumbnail
|
||
pageYScroll = window.pageYOffset || document.documentElement.scrollTop,
|
||
rect = thumbnail.getBoundingClientRect();
|
||
return {
|
||
x: rect.left,
|
||
y: rect.top + pageYScroll,
|
||
w: rect.width
|
||
};
|
||
}
|
||
};
|
||
if (fromURL) {
|
||
if (options.galleryPIDs) {
|
||
for (var j = 0; j < items.length; j++) {
|
||
if (items[j].pid == index) {
|
||
options.index = j;
|
||
break;
|
||
}
|
||
}
|
||
} else {
|
||
options.index = parseInt(index, 10) - 1;
|
||
}
|
||
} else {
|
||
options.index = parseInt(index, 10);
|
||
}
|
||
if (isNaN(options.index)) {
|
||
return;
|
||
}
|
||
if (disableAnimation) {
|
||
options.showAnimationDuration = 0;
|
||
}
|
||
gallery = new PhotoSwipe(pswpElement, PhotoSwipeUI_Default, items, options);
|
||
gallery.init();
|
||
};
|
||
|
||
var galleryElements = document.querySelectorAll(gallerySelector);
|
||
for (var i = 0, l = galleryElements.length; i < l; i++) {
|
||
galleryElements[i].setAttribute('data-pswp-uid', i + 1);
|
||
galleryElements[i].onclick = onThumbnailsClick;
|
||
}
|
||
var hashData = photoswipeParseHash();
|
||
if (hashData.pid && hashData.gid) {
|
||
openPhotoSwipe(hashData.pid, galleryElements[hashData.gid - 1], true, true);
|
||
}
|
||
};
|
||
|
||
initPhotoSwipeFromDOM('.my-gallery');
|
||
}, 500)
|
||
} else {
|
||
//console.log(data.status)
|
||
}
|
||
},
|
||
error: function(xhr, type, errorThrown) { //异常处理;
|
||
// mui.alert(type);
|
||
}
|
||
|
||
})
|
||
}
|
||
getData(1, 10)
|
||
$('.nav').on('tap', '.nav_', function() {
|
||
$(this).addClass('on').siblings().removeClass('on');
|
||
type = $(this).attr('id');
|
||
page = 1;
|
||
isjiazai = 1;
|
||
getData(page, 10, type)
|
||
})
|
||
document.querySelector('.mui-scroll-wrapper').addEventListener('scroll', function(e) {
|
||
if (scroll.y == scroll.maxScrollY) {
|
||
if (isjiazai == 1) {
|
||
page++;
|
||
getData(page, 10, type)
|
||
}
|
||
|
||
}
|
||
})
|
||
|
||
})
|