mui.plusReady(function() { var data = ''; var data_saleSpec = {} var arry_str = ''; var self = plus.webview.currentWebview(); var data_id = self.data_id; var data_bak = {} function whslePrice(num, arry_str) { for(var i in data_saleSpec) { if(i == arry_str) { if(num >= (+(data_saleSpec[i].initNum))) { $('.cclass_con .cc2 p').html(data_saleSpec[i].whslePrice); } } } for(var i in data_saleSpec) { if(i == arry_str) { if(num < (+(data_saleSpec[i].initNum))) { $('.cclass_con .cc2 p').html(data_saleSpec[i].specPrice); } } } } mui.ajax(hyhUrl('app/Goods/detail'), { data: { goodsId: data_id }, dataType: 'json', //服务器返回json格式数据 type: 'post', //HTTP请求类型 timeout: 10000, //超时时间设置为10秒; success: function(data) { //服务器返回响应,根据响应结果,分析是否登录成功; var data = toJson(data); if(data.status != 1) { mui.alert('加载失败请重试!'); } data = data.data; data_bak = data; var html = '<div class="banner"><div class="swiper-container"><div class="swiper-wrapper">'; $.each(data.gallery, function() { html += '<div class="swiper-slide"><img src="' + hyhImgUrl(this) + '" /></div>'; }); html += '</div></div></div><div class="summarize"><p class="price">¥' + data.shopPrice + '</p><p class="price_old">价格 <del>¥' + data.marketPrice + '</del></p><div class="compilations"><span class="myf">'; if(data.isFreeShipping == '1') { html += '免运费'; } else { html += '不包邮'; } html += '</span><span class="yx">月销:' + data.saleNum + '件</span><span class="dz"></span></div><p class="cname">商品介绍 ' + data.goodsTips + '</p></div><div class="guarantee"><div class="row clearfix" style="display:none"><img src="../img/gouwuquan.png" /><span class="text">全合源惠实物商品通用</span><button class="lq">领取</button></div><div class="row clearfix"><img src="../img/jifen.png" /><span class="text">购买后可获得100%积分</span></div><div class="row clearfix"><span class="text">正品保证 · 公益宝贝 · 赠运险费 · 极速退款 · 七天退货</span><button class="caidan" style="display:none"><img src="../img/menu.png"/></button></div></div><div class="guarantee" id="guarantee"><div class="row clearfix" id="changeclass"><span class="text">选择颜色分类 号码尺寸</span><button class="caidan"><img src="../img/menu.png"/></button></div></div>'; if(data.oneAppraises == '') { } else { html += '<div class="pjrk" style="display:none"><p class="pj_title">商品评价(' + data.appraiseNum + ')</p><div class="pj_breviary"><div class="pjbtitle clearfix"><img src="' + hyhImgUrl(data.oneAppraises.userPhoto) + '" /><p>' + data.oneAppraises.loginName + '</p></div><div class="pjbcon">' + data.oneAppraises.content + '</div><div class="pjclass">' + data.oneAppraises.goodsSpecNames + '</div></div><div class="pj_all">查看全部评价</div></div>'; } html += '<div class="shop_info"><div class="shop_title clearfix"><img src="' + hyhImgUrl(data.shop.shopImg) + '" /><p>' + data.shop.shopName + '</p></div><div class="shopinfocon clearfix"><div class="sicl"><div class="sicl_p1">' + data.goodsCount + '</div><div class="sicl_p2">全部宝贝</div></div><div class="sicl"><div class="sicl_p1">' + data.newGoodsCount + '</div><div class="sicl_p2">上新宝贝</div></div><div class="sicl"><div class="sicl_p1">' + data.favoritesShopsNum + '</div><div class="sicl_p2">关注人数</div></div><div class="sicr"><div class="sicr_p">宝贝描述 <o>' + data.shop.goodsScore + '</o></div><div class="sicr_p">卖家服务 <o>' + data.shop.serviceScore + '</o></div><div class="sicr_p">物流服务 <o>' + data.shop.timeScore + '</o></div></div></div></div><div class="imgcon">' + data.goodsDesc + '</div>'; $('.con').html(html); $('.cclass_con .img').html('<img src="' + hyhImgUrl(data.goodsImg) + '" />'); $('.cclass_con .cc2 p').html(data.shopPrice); $('.cclass_con .cc2 span').html('库存' + data.goodsStock + '件'); $('#storebtn').attr('data-shopId', data.shopId) var swiper = new Swiper('.swiper-container', { pagination: '.swiper-pagination', paginationClickable: true, spaceBetween: 30, autoplay: 3000 }); var html1 = ''; $.each(data.spec, function() { html1 += '<div class="cclass1 clearfix" data-class=""><p>' + this.name + '</p>' $.each(this.list, function() { html1 += '<div class="block" data-itemId="' + this.itemId + '">' + this.itemName + '</div>' }); html1 += '</div>' }); $('.ccclass').html(html1) for(var i in data.saleSpec) { data_saleSpec[i] = data.saleSpec[i]; } }, error: function(xhr, type, errorThrown) { //异常处理; // alert(type); } }); var scroll = mui('.mui-scroll-wrapper').scroll({ deceleration: 0.002 //flick 减速系数,系数越大,滚动速度越慢,滚动距离越小,默认值0.0006 }); //导航栏渐变 document.querySelector('.mui-scroll-wrapper').addEventListener('scroll', function(e) { var num; if(scroll.y >= -387 && scroll.y < 0) { num = scroll.y / -387; // console.log('渐变',num) $('.header1').css({ 'display': 'block', 'opacity': num }) $('.zhe').css({ 'display': 'block', 'opacity': num }) var num1 = 0.2 - num * 0.2; // $('.header .mui-action-back').css('background', 'rgba(0,0,0,' + num1 + ')') } else if(scroll.y >= 0) { num = 0; // console.log('透明',num) $('.header1').css({ 'display': 'none', 'opacity': num }) $('.zhe').css({ 'display': 'none', 'opacity': num }) // $('.header .mui-action-back').css('background', 'rgba(0, 0, 0, 0.2)') } else if(scroll.y < -387) { num = 1; // console.log('不透明',num) $('.header1').css({ 'display': 'block', 'opacity': num }) $('.zhe').css({ 'display': 'block', 'opacity': num }); // $('.header .mui-action-back').css('background', 'rgba(0, 0, 0, 0.2)') } //导航栏自动切换 if($('.imgcon').offset().top >= 66) { $('#nav1').addClass("on").siblings().removeClass('on'); } else if($('.imgcon').offset().top < 66) { $('#nav3').addClass("on").siblings().removeClass('on'); } }) //点击导航栏跳转 mui('.nav').on('tap', '#nav1', function() { mui('.mui-scroll-wrapper').scroll().scrollTo(0, 0, 100); $('#nav1').addClass("on").siblings().removeClass('on'); }); mui('.nav').on('tap', '#nav2', function() { mui.openWindow({ url: 'appraise.html', id: 'appraise.html', styles: { top: '0px', //新页面顶部位置 bottom: '0px', //新页面底部位置 width: '100%', //新页面宽度,默认为100% height: '100%' //新页面高度,默认为100% }, extras: { data_id: data_id // ..... //自定义扩展参数,可以用来处理页面间传值 }, createNew: false, //是否重复创建同样id的webview,默认为false:不重复创建,直接显示 show: { // autoShow: true, //页面loaded事件发生后自动显示,默认为true // aniShow: animationType, //页面显示动画,默认为”slide-in-right“; // duration: animationTime, //页面动画持续时间,Android平台默认100毫秒,iOS平台默认200毫秒; // event: 'titleUpdate', //页面显示时机,默认为titleUpdate事件时显示 // extras: {} //窗口动画是否使用图片加速 }, waiting: { autoShow: true, //自动显示等待框,默认为true title: '正在加载...', //等待对话框上显示的提示内容 options: { // width: waiting - dialog - widht, //等待框背景区域宽度,默认根据内容自动计算合适宽度 // height: waiting - dialog - height, //等待框背景区域高度,默认根据内容自动计算合适高度 // ...... } } }) }); mui('.nav').on('tap', '#nav3', function() { mui('.mui-scroll-wrapper').scroll().scrollTo(0, -1124, 100); $('#nav3').addClass("on").siblings().removeClass('on'); }); mui('.con').on('tap', '#changeclass', function() { $('#changeclass_con').show(); }) //选择类型 mui('.ccclass').on('tap', '.block', function() { $(this).addClass('on').siblings().removeClass('on'); $(this).parent().attr('data-class', $(this).attr('data-itemId')); var data_itemId = $(this).attr('data-itemId'); $.each(data.spec, function() { $.each(this.list, function() { if(this.itemId == data_itemId && this.itemImg != '') { $('.cclass_con .img').html('<img src="' + hyhImgUrl(this.itemImg) + '" />'); } }); }); var arry = []; $.each($('.cclass1'), function() { arry.push($(this).attr('data-class')) }); arry.sort(function(a, b) { return a - b; }); arry_str = arry.join(':'); $.each(data.saleSpec, function() { if(this == arry_str) { $('.cclass_con .cc2 p').html(this.specPrice); $('.cclass_con .cc2 span').html('库存' + this.specStock + '件'); } }); for(var i in data_saleSpec) { if(i == arry_str) { $('.cclass_con .cc2 p').html(data_saleSpec[i].specPrice); $('.cclass_con .cc2 span').html('库存' + data_saleSpec[i].specStock + '件'); } } var num = +$('.change_num input').val(); whslePrice(num, arry_str); }) //跳转选择类型 $('.footer').on('tap', '.btn_ljgm', function() { $('#changeclass_con').show(); }) mui('.cc2').on('tap', '.closecclass', function() { $('#changeclass_con').hide(); }) mui('.en').on('tap', '.engwc', function() { $('#changeclass_con').hide(); }) //改变数量 mui('.change_num').on('tap', '.jia', function() { // console.log($(this).siblings('input').val()) var num = +$(this).siblings('input').val() + 1; if(num <= 0) { alert('购买数最小为1!'); return; } $(this).siblings('input').val(num); whslePrice(num, arry_str) }) mui('.change_num').on('tap', '.jian', function() { var num = +$(this).siblings('input').val() - 1; if(num <= 0) { alert('购买数最小为1!'); return; } $(this).siblings('input').val(num); whslePrice(num, arry_str) }) $('.change_num input').on('change', function() { var num = +$(this).val(); whslePrice(num, arry_str); }) //加入购物车&购买 mui('.en').on('tap', '.enarr', function() { var that = $(this); var goodsId = data_id; var buyNum = $('.change_num input').val(); var isGoodsSpecId = 0; var goodsSpecId = 0; var url = ''; if($(this).hasClass('engwc')) { url = 'addCart'; } else if($(this).hasClass('ensure')) { url = 'buy'; } // console.log(data_bak.isSpec) for(var i in data_saleSpec) { if(i == arry_str) { isGoodsSpecId = 1; } } if(isGoodsSpecId == 1) { goodsSpecId = arry_str; } else if(data_bak.isSpec == 0) { goodsSpecId = 0; } else { alert('请选择商品分类!'); return } that.attr('disabled', 'disabled'); mui.ajax(hyhUrl('app/carts/' + url), { data: { goodsId: goodsId, buyNum: buyNum, goodsSpecId: goodsSpecId }, dataType: 'json', //服务器返回json格式数据 type: 'post', //HTTP请求类型 timeout: 10000, //超时时间设置为10秒; success: function(data) { //服务器返回响应,根据响应结果,分析是否登录成功; data = toJson(data); if(data.status == 1) { if(url == 'buy') { mui.openWindow({ url: 'confirmOrder.html', id: 'confirmOrder.html', styles: { top: '0px', //新页面顶部位置 bottom: '0px', //新页面底部位置 width: '100%', //新页面宽度,默认为100% height: '100%' //新页面高度,默认为100% }, extras: { // data_id: data_id type: 1 // ..... //自定义扩展参数,可以用来处理页面间传值 }, createNew: false, //是否重复创建同样id的webview,默认为false:不重复创建,直接显示 show: { // autoShow: true, //页面loaded事件发生后自动显示,默认为true // aniShow: animationType, //页面显示动画,默认为”slide-in-right“; // duration: animationTime, //页面动画持续时间,Android平台默认100毫秒,iOS平台默认200毫秒; // event: 'titleUpdate', //页面显示时机,默认为titleUpdate事件时显示 // extras: {} //窗口动画是否使用图片加速 }, waiting: { autoShow: true, //自动显示等待框,默认为true title: '正在加载...', //等待对话框上显示的提示内容 options: { // width: waiting - dialog - widht, //等待框背景区域宽度,默认根据内容自动计算合适宽度 // height: waiting - dialog - height, //等待框背景区域高度,默认根据内容自动计算合适高度 // ...... } } }) } else if(url == 'addCart') { alert('添加购物车成功!') } } else { alert(data.msg); //location.reload(); } }, error: function(xhr, type, errorThrown) { //异常处理; // alert(type); } }); }) //打开评价列表 mui('.con').on('tap', '.pjrk', function() { mui.openWindow({ url: 'appraise.html', id: 'appraise.html', styles: { top: '0px', //新页面顶部位置 bottom: '0px', //新页面底部位置 width: '100%', //新页面宽度,默认为100% height: '100%' //新页面高度,默认为100% }, extras: { data_id: data_id // ..... //自定义扩展参数,可以用来处理页面间传值 }, createNew: false, //是否重复创建同样id的webview,默认为false:不重复创建,直接显示 show: { // autoShow: true, //页面loaded事件发生后自动显示,默认为true // aniShow: animationType, //页面显示动画,默认为”slide-in-right“; // duration: animationTime, //页面动画持续时间,Android平台默认100毫秒,iOS平台默认200毫秒; // event: 'titleUpdate', //页面显示时机,默认为titleUpdate事件时显示 // extras: {} //窗口动画是否使用图片加速 }, waiting: { autoShow: true, //自动显示等待框,默认为true title: '正在加载...', //等待对话框上显示的提示内容 options: { // width: waiting - dialog - widht, //等待框背景区域宽度,默认根据内容自动计算合适宽度 // height: waiting - dialog - height, //等待框背景区域高度,默认根据内容自动计算合适高度 // ...... } } }) }) $('.footer').on('tap', '#storebtn', function() { var shopId = this.attributes["data-shopId"].nodeValue; mui.openWindow({ url: 'storeout.html', id: 'storeout.html'+shopId, styles: { top: '0px', //新页面顶部位置 bottom: '0px', //新页面底部位置 width: '100%', //新页面宽度,默认为100% height: '100%' //新页面高度,默认为100% }, extras: { shopId: shopId // ..... //自定义扩展参数,可以用来处理页面间传值 }, createNew: false, //是否重复创建同样id的webview,默认为false:不重复创建,直接显示 show: { // autoShow: true, //页面loaded事件发生后自动显示,默认为true // aniShow: animationType, //页面显示动画,默认为”slide-in-right“; // duration: animationTime, //页面动画持续时间,Android平台默认100毫秒,iOS平台默认200毫秒; // event: 'titleUpdate', //页面显示时机,默认为titleUpdate事件时显示 // extras: {} //窗口动画是否使用图片加速 }, waiting: { autoShow: true, //自动显示等待框,默认为true title: '正在加载...', //等待对话框上显示的提示内容 options: { // width: waiting - dialog - widht, //等待框背景区域宽度,默认根据内容自动计算合适宽度 // height: waiting - dialog - height, //等待框背景区域高度,默认根据内容自动计算合适高度 // ...... } } }) }) }) // var self = plus.webview.currentWebview(); // console.log(self.aaa)