文档章节

js 封装 js

攀爬的小瓜牛
 攀爬的小瓜牛
发布于 2014/11/07 14:33
字数 461
阅读 69
收藏 0

define(['jquery'], function($) { var orderSummary = { $el: $('.summary-totals'), updateUrl : '../checkout/orderSummaryContentJson.jsp', cartRemoveUpdateUrl : '../cartridges/cart/subTotalContainer.jsp', orderComfirmSummaryUrl : '../checkout/orderReviewInfoSummaryContainer.jsp', bindChange : function() { this.$el = $('.summary-totals'); if($('.js-estimated').length) { $('.js-estimated').off('change').on('change', function() { var data={ changeShippingMethod: $('#changeShippingMethod').val(), selectedShippingMethod : $(this).val(), zipCode : $('.js-zipCode').val() ? $('.js-zipCode').val() : '' }; orderSummary.update(data); }); $('.js-estimated').simSelect(); } }, render: function(data) { var self = this; self.$el.find('span.js-order-subTotal').text(self.formatMoney(data.ship.subTotal)); self.$el.find('span.js-order-shipping').text(self.formatMoney(data.ship.shippingPrice)); self.$el.find('span.js-order-tax').text(self.formatMoney(data.ship.tax)); self.$el.find('span.js-order-total').text(self.formatMoney(data.ship.total)); }, update: function(data, cb, currentElm) { var self = this; $.get(self.updateUrl, data).done(function(result) { var result = JSON.parse(result); if(result.status) { if(cb && typeof cb === 'function') { cb(result); } else { $('.order-item').removeClass("changed"); $('.js-order-change-tip').addClass("hide"); self.$el.removeClass('changed'); } self.render(result); } else { self.showError(result.msg); } if(currentElm) currentElm.data('pending', false); }).fail(function(result) { if(currentElm) currentElm.data('pending', false); }); }, return orderSummary; }); //////////////////////////////////////////// function($, utils, header, acsCarousel, Handlebars, popover, quickview, orderSummary) { $(function() { var isTouch = Modernizr.touch; utils.init(); header.init();

$('#js-down-pdf').on('click', function(e) {
	$.post("/layouts/webAnalysis.jsp", {pageId : "/shoppingcartDocumentDownload"}).done(function(html) {
		$("#eventFlag").html(html);
	});
});

$(".also-like .jQ-carousel").acsCarousel({
	sliderLoop: false,
	sliderMoveNum: 6,
	sliderCanDrag: true,
	sliderList: 'carousel-content',
	sliderButtonCov: 'carousel-btn',
	sliderButtonPrev: 'carousel-prev',
	sliderButtonNext: 'carousel-next',
	sliderItem: 'carousel-item',
	callBack: function(obj, setting){
		obj.find(".item-num-note").html(setting.startItemNum+"-"+setting.endItemNum+" of "+ setting.sliderLength)
		utils.ellipsis();
	}
});

function isChangedQty(){
	var flag = false;
	$('.cart-item').each(function(){
		if($(this).data("isChangedQty")){
			flag = true;
			return;
		}
	});
	return flag;
}

function reClickSubmit(){
	if($('#hasError').val()=='true'){
		return;
	}
	if($('.jQ_checkoutNow').data('isClick')){
		$('.jQ_checkoutNow').data('isClick',false);
		$("#submit_checkoutNow_button").click();
		return;
	}
	if($('.jQ_checkoutNow_login').data('isClick')){
		$('.jQ_checkoutNow_login').data('isClick',false);
		$("#shoppingCart-login").submit();
		return;
	}
	if($('.jQ_guestCheckoutNow').data('isClick')){
		$('.jQ_guestCheckoutNow').data('isClick',false);
		$("#submit_checkoutAsGuestNow_button").click();
		return;
	}
}

//shoppingCart:recognize User do check out
$(document).on('click', '.jQ_checkoutNow', function(e){
	e.preventDefault();
	if($('#hasError').val()=='true'){
		return;
	}
	$(this).data('isClick',true);
	if(isChangedQty()){
		return;
	}
	$("#submit_checkoutNow_button").click();
	$(this).data('isClick',false);
});

$(document).on('click', '.jQ_checkoutNow_login', function(e){
	e.preventDefault();
	if($('#hasError').val()=='true'){
		return;
	}
	$(this).data('isClick',true);
	if(isChangedQty()){
		return;
	}
	$("#shoppingCart-login").submit();
	$(this).data('isClick',false);
});

//shoppingCart:guest User do check out
$(document).on('click', '.jQ_guestCheckoutNow', function(e){
	e.preventDefault();
	if($('#hasError').val()=='true'){
		return;
	}
	$(this).data('isClick',true);
	if(isChangedQty()){
		return;
	}
	$("#submit_checkoutAsGuestNow_button").click();
	$(this).data('isClick',false);
});

$(document).on('click', '.js-quick-view', function(e) {
	e.preventDefault();
	quickview.open(this);
	var productId = $(this).data('productid');
	$.post("/layouts/webAnalysis_ajax.jsp", {pageId : "/quickLook", productId : productId}).done(function(html) {
		$("#ensightenFlag").html(html);
	});
	$.post("/layouts/webAnalysis.jsp", {pageId : "/eventQuickLook", productId : productId}).done(function(code) {
		$("#eventFlag").html(code);
	});
});

/**
 * format The Price
 * 
 */
var formatMoney = function(number, places, symbol, thousand, decimal) {
	number = number || 0;
	places = !isNaN(places = Math.abs(places)) ? places : 2;
	symbol = symbol !== undefined ? symbol : "$";
	thousand = thousand || ",";
	decimal = decimal || ".";
	var negative = number < 0 ? "-" : "",
	i = parseInt(number = Math.abs(+number || 0).toFixed(places), 10) + "",
	j = (j = i.length) > 3 ? j % 3 : 0;
	return negative + symbol + (j ? i.substr(0, j) + thousand : "") + i.substr(j).replace(/(\d{3})(?=\d)/g, "$1" + thousand) + (places ? decimal + Math.abs(number - i).toFixed(places).slice(2) : "");
}

//bind
orderSummary.bindChange();

© 著作权归作者所有

上一篇: js闭包
下一篇: chrome浏览器调试
攀爬的小瓜牛
粉丝 5
博文 112
码字总数 63322
作品 0
成都
程序员
私信 提问
分享51本关于JavaScript方面的学习书籍(免费下载)

分享51本关于JavaScript方面的学习书籍(免费下载) 1、JavaScript面向对象15分钟教程 2、原型、作用域、闭包的完整解释 3、Javascript面向对象特性实现(封装、继承、接口) 4、JavaScript面向...

邓剑彬
2012/12/02
1K
12
React Native 原生模块封装:支付宝示例

React Native本身已经提供很多可用的模块和组件,有一部分我们需要的模块和组件仍然无法直接提供,需要借助原生的代码来提供。封装原生模块和视图导出使用,也可以让React Native拥有android...

qiushijie
04/03
0
0
React Native iOS混合开发实战教程

在做RN开发的时候通常离不了JS 和Native之间的通信,比如:初始化RN时Native向JS传递数据,JS调用Native的相册选择图片,JS调用Native的模块进行一些复杂的计算,Native将一些数据(GPS信息,...

JiaPengHui
2018/09/15
0
0
前端基础-JavaScript

开发工具与关键技术:DW/浏览器 ;简单使用js。 作者:刘佳明 撰写时间:2019年1月 18 日 前面已经随手写过了关于网页编辑的一些基础布局和标签的认识;这篇文章在这里为大家简单的介绍一下关...

没有,
01/18
0
0
一步一步搭建前端监控系统:JS错误监控篇

摘要: 徒手写JS错误监控。 作者:一步一个脚印一个坑 原文:搭建前端监控系统(二)JS错误监控篇 Fundebug经授权转载,版权归原作者所有。 背景:市面上的监控系统有很多,大多收费,对于小...

Fundebug
07/06
0
0

没有更多内容

加载失败,请刷新页面

加载更多

PostgreSQL 11.3 locking

rudi
今天
5
0
Mybatis Plus sql注入器

一、继承AbstractMethod /** * @author beth * @data 2019-10-23 20:39 */public class DeleteAllMethod extends AbstractMethod { @Override public MappedStatement injectMap......

一个yuanbeth
今天
10
1
一次写shell脚本的经历记录——特殊字符惹的祸

本文首发于微信公众号“我的小碗汤”,扫码文末二维码即可关注,欢迎一起交流! redis在容器化的过程中,涉及到纵向扩pod实例cpu、内存以及redis实例的maxmemory值,statefulset管理的pod需要...

码农实战
今天
4
0
为什么阿里巴巴Java开发手册中不建议在循环体中使用+进行字符串拼接?

之前在阅读《阿里巴巴Java开发手册》时,发现有一条是关于循环体中字符串拼接的建议,具体内容如下: 那么我们首先来用例子来看看在循环体中用 + 或者用 StringBuilder 进行字符串拼接的效率...

武培轩
今天
8
0
队列-链式(c/c++实现)

队列是在线性表功能稍作修改形成的,在生活中排队是不能插队的吧,先排队先得到对待,慢来得排在最后面,这样来就形成了”先进先出“的队列。作用就是通过伟大的程序员来实现算法解决现实生活...

白客C
今天
81
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部