/** * 商品详情 --异步加载页面下半部分 * @author: liangzhifeng<zhifeng.liang@yoho.cn> * @date: 2015/11/18 */ let $ = require('yoho-jquery'), lazyLoad = require('yoho-jquery-lazyload'), Swiper = require('yoho-swiper'), // loading = require('plugin/loading'), tip = require('plugin/tip'); let introUrl = $('#introUrl').val(), winH = $(window).height(), $productDesc, searching = false, end = false; $('#is-deposit-advance').on('click', function() { tip.show('定金预售商品只能在有货App购买'); }); // 判断是否要显示向左滑动提示 function hiddenTips($ele) { let offsetContainer, offsetLastColumn; if ($ele.length > 0) { offsetContainer = $ele[0].getBoundingClientRect().right; if ($ele.find('.swiper-slide:last-child')[0]) { offsetLastColumn = $ele.find('.swiper-slide:last-child')[0].getBoundingClientRect().right; } if (offsetLastColumn - offsetContainer < 0) { $ele.next('.tips').css('display', 'none'); } else { $ele.next('.tips').css('display', 'block'); } } } // function isFlexSupport() { // let flex = document.createElement('p').style.flex, // webkitFlex = document.createElement('p').style.webkitFlex, // flexWrap = document.createElement('p').style.flexWrap; // // if ((flex === '' || webkitFlex === '') && flexWrap === '') { // return true; // } else { // return false; // } // } // function wrapElements(selector, count) { // let elArr = null; // $(selector).each(function(idx) { // elArr = $(selector).slice(idx, idx + count); // if (elArr.length === count && idx % count === 0) { // $(elArr).wrapAll($('<div class="js-wraper"></div>')); // } // }); // } function search() { if (searching || end || !introUrl) { return; } searching = true; // alert($('#reference-swiper-container .swiper-wrapper').width()); // loading.showLoadingMask(); $.ajax({ type: 'GET', url: introUrl, success: function(data) { if (typeof data === 'string') { data = data.replace(/https?:/gi, ''); } $productDesc = $('#productDesc'); $productDesc.append(data); window.rePosFooter(); lazyLoad($productDesc.find('img.lazy')); // 尺码信息左右滑动 new Swiper('#size-swiper-container', { slidesPerView: 'auto' }); // 模特试穿左右滑动 new Swiper('#reference-swiper-container', { slidesPerView: 'auto' }); hiddenTips($('#size-swiper-container')); hiddenTips($('#reference-swiper-container')); // if (!isFlexSupport()) { // $('.detail .column').removeClass('column').addClass('oldbox'); // } // wrapElements('.detail .column', 2); searching = false; end = true; // loading.hideLoadingMask(); // 视频埋点 $('video').on('play', function() { let _channel = window.cookie('_Channel'); let cid = { boys: 1, girls: 2, kids: 3, lifestyle: 4 }[(_channel ? _channel : 'boys')]; let pid = $('#productId').val(); window._yas.sendCustomInfo({ op: 'YB_GDS_DT_VIDEO_C', param: JSON.stringify({ C_ID: cid, PRD_ID: pid, }), }, true); }); window.rePosFooter && window.rePosFooter(); }, error: function() { tip.show('网络断开连接了~'); searching = false; // loading.hideLoadingMask(); } }); } function scrollHandler() { if (!end || $(window).scrollTop() + winH >= $(document).height() - 200) { search(); } } // srcoll to load more $(window).scroll(function() { window.requestAnimationFrame(scrollHandler); });