javascript 面向对象编程

来源:互联网 发布:美国网络恐怖组织 编辑:程序博客网 时间:2024/05/29 10:06

1.http://www.ibm.com/developerworks/cn/web/1304_zengyz_jsoo/


/*普通商品操作*/function Cart_Model() {this.cart_url = "/cart";this.cart_ids = [];this.is_init = false;this.add = function(goods_id, num, success, fail){var _this = this;var data = {goods_id : goods_id, num : num};$.post(this.cart_url + "/add", data, function(result){if(result.s == 10) {goto_login(function(){window.location.reload();});}else if(result.s == 1) {if(result.d.one_step_buy == 1) {window.location.href = "/checkout";return;}else{_this.is_init = false;success?success(result):"";if($('.top_cart_list').length>0) {$.get("/cart/top_cartlist", function(result){$('.top_cart_list').html(result);}, "html");}}}else {fail?fail(result):"";}}, "json");};this.del = function(cart_id, success, fail) {var _this = this;$.post(this.cart_url + "/del", {cart_id:cart_id}, function(result){if(result.s == 1) {_this.is_init = false;success?success(result):"";}else {fail?fail(result):"";}}, "json");};this.delall = function(success, fail) {var _this = this;var chk_value = [];    $('.cart_list .selectAll:checked').each(function(){    chk_value.push($(this).val());});if(chk_value.length <= 0) {alert("未选中任何商品");}$.post(this.cart_url + "/delall", {cart_ids:chk_value}, function(result){if(result.s == 1) {_this.is_init = false;success?success(result):"";} else {fail?fail(result):"";}}, "json");}this.change = function(cart_id, num, success, fail){var _this = this;var data = {cart_id : cart_id, num : num};$.post(this.cart_url + "/change", data, function(result){if(result.s == 1) {_this.is_init = false;success?success(result):"";} else {fail?fail(result):"";}}, "json");};this.select = function(cart_ids, success) {var is_min = 0;var cart_class = ".cart_list";if(typeof(is_cart) == "undefined") {is_min = 1;cart_class = ".mini-cart";}this.cart_ids = cart_ids;this.is_init = false;this.init();};this.count = function() {$.get(this.cart_url + "/count", {is_min:is_min}, function(result){$(cart_class).html(result);}, "html");};this.init = function() {var _this = this;if(this.is_init) return;var is_min = 0;var cart_class = ".cart_list";if(typeof(is_cart) == "undefined") {is_min = 1;cart_class = ".mini-cart";}if($(cart_class).length>0) {$.get(this.cart_url + "/cartlist", {is_min:is_min, cart_ids:this.cart_ids}, function(result){                          console.log("********"+this.cart_ids);$(cart_class).html(result);if(is_min) {setHeight();}_this.is_init = true;$(".cart_goods_num").html($("#cart_count").text());if($('.top_cart_list').length>0) {$.get("/cart/top_cartlist", function(result){$('.top_cart_list').html(result);}, "html");}}, "html");}else if($(".cart_goods_num").length>0){$.get(this.cart_url + "/cartcount", function(result){$(".cart_goods_num").html(result.d.cartcount);}, "json");}};}$(document).ready(function(){setTimeout(function(){    cart.init();    }, 500);$(".buy_one").bind("click",function(e){var goods_id = parseInt($(this).attr("this_id"));if(goods_id <=0) {return false;}cart.add(goods_id, 1, function(result){$(".cart_msg").show();$(".cart_msg").find(".fr").html("<strong>" + result.m + "</strong><p>您可以<a href='"+cart.cart_url+"'>去购物车结算</a></p>");$(".cart_goods_num").html(result.d.count);setTimeout(function(){$(".cart_msg .ico_close").click();}, 3000);}, function(result){$(".cart_msg").show();$(".cart_msg").find(".fr").html(result.m);setTimeout(function(){$(".cart_msg .ico_close").click();}, 3000);});});$(".buy_btn").bind("click",function(e){var goods_id = parseInt($(".buy_value").attr("this_id"));var num = parseInt($(".buy_value").val());if(goods_id <=0) {return false;}if(num <= 0) {return false;}cart.add(goods_id,num, function(result){/*$("#flyItem").css({left:e.pageX, top:e.pageY-$("body").scrollTop() });$("#flyItem").css("visibility", "visible");$("#flyItem").find("img").attr("src", $("#goods_imgs").find("img").attr("src"));// 需要重定位myParabola.position().move();*//*..$(".cart_msg").show();$(".cart_msg").find(".fr").html("<strong>" + result.m + "</strong><p>您可以<a href='"+cart.cart_url+"'>去购物车结算</a></p>");$(".cart_goods_num").html(result.d.count);setTimeout(function(){$(".cart_msg .ico_close").click();}, 3000);*/ window.location.href='/cart/success/item_id/'+cart_add_item_id+'/'+goods_id;}, function(result){$(".cart_msg").show();$(".cart_msg").find(".fr").html(result.m);setTimeout(function(){$(".cart_msg .ico_close").click();}, 3000);});});$(".cart_list").on("click", ".delall", function(){cart.delall(function(){cart.init();});});$(".cart_list").on("click", ".del_cart", function(e) {var cart_id = $(this).attr("this_id");var top = $(this).offset().top - $(".del_cart_tip").height() - parseInt($(".del_cart_tip").css("padding-top")) - parseInt($(".del_cart_tip").css("padding-bottom")) - 5; var left = $(this).offset().left - $(".del_cart_tip").width()/2 + $(this).width()/2;$(".del_cart_tip").show().offset({left:left,top:top}).find(".confirm").attr("this_id", cart_id);});$(".del_cart_tip .confirm").click(function(){var cart_id = $(this).attr("this_id");cart.del(cart_id, function(result) {cart.init();$(".del_cart_tip .cancel").click();}, function(result){alert(result.m);$(".del_cart_tip .cancel").click();});});$(".cart_panel").on("click", ".del_cart", function(){var cart_id = $(this).parent().find(".tm-mcElect").val();cart.del(cart_id, function(result) {cart.init();}, function(result){alert(result.m);});});$(".del_cart_tip .cancel").click(function(){$(".del_cart_tip").hide();});var change_timeout = null;$(".cart_list").on("change", ".buy_value", function(e) {$(this).val(parseInt($(this).val()));var cart_id = $(this).attr("this_id");var num = $(this).val();var _this = $(this);clearTimeout(change_timeout);change_timeout = setTimeout(function(){cart.change(cart_id, num, function(result) {cart.init();}, function(result){_this.parent().next().html(result.m);_this.parent().next().show();setTimeout(function(){_this.parent().next().stop();_this.parent().next().fadeOut(500);}, 3000)_this.val(result.d);});},300);});$(".cart_list").on("click", ".buy_value_min", function(e) {var val = parseInt($(this).next().val());$(this).next().val((val-1)<1?1:(val-1));$(this).next().change();});$(".cart_list").on("click", ".buy_value_add", function(e) {var val = parseInt($(this).prev().val());$(this).prev().val(val+1);$(this).prev().change();});$(".cart_list").on("change", ".selectAll", function(){$(".choice").prop("checked", $(".selectAll:not(:checked)").length<=0);var chk_value =[];    $('.cart_list .selectAll:not(:checked)').each(function(){    chk_value.push($(this).val());});cart.select(chk_value);});$(".cart_list").on("change", ".choice", function(){$(".selectAll").prop("checked", $(this).prop("checked"));$(".selectAll").eq(0).change();$(".choice").not($(this)).prop("checked", $(this).prop("checked"));});$(".cart_panel").on("change", ".tm-mcElect", function(){$(".tm-mcElectCart").prop("checked", $(".tm-mcElect:not(:checked)").length<=0);var chk_value =[];    $('.cart_panel .tm-mcElect:not(:checked)').each(function(){    chk_value.push($(this).val());});cart.select(chk_value);});$(".cart_panel").on("change", ".tm-mcElectCart", function(){$(".tm-mcElect").prop("checked", $(this).prop("checked"));$(".tm-mcElect").change();});$(".cart_msg .ico_close").click(function(){$(".cart_msg").hide();return false;});$(".cart_msg .ico_close").mouseenter(function(){return false;});$(".cart_list").on("click", ".goto_login", function(){goto_login(function(){is_login = 1;cart.select([]);});});$(".cart_list").on("click", "#checkout", function(){if(!is_login) {goto_login(function(){is_login = 1;cart.select([]);});return false;}var chk_value =[];$('.cart_list .selectAll:not(:checked)').each(function(){    chk_value.push($(this).val());});if($('.cart_list .selectAll:checked').length <= 0) {alert("未选中任何商品");return false;}post('checkout', {cart_ids:chk_value});});$('.goods_box').on("click", ".add_favorites", function(){if(!is_login) {location.href="/login";}var id = $(this).attr("this_id");$.post("user/addFavorites", {id:id}, function(result){if(result.s == 1) {alert(result.m);} else {alert(result.m);}}, "json");});$('.cart_list').on("click", ".add_favorites", function(){if(!is_login) {goto_login(function(){is_login = 1;cart.select([]);});return false;}var id = $(this).attr("this_id");var item_id = $(this).attr("this_item_id");$.post("/favorites", {'goods_id':id,'item_id':item_id}, function(data){if(data.ret > 0) {$(".cart_add_favorites_suc").show();setTimeout("$('.cart_add_favorites_suc').hide()",2000);} else {$(".cart_add_favorites_suc").hide();alert('收藏失败!');}}, "json");});$('.top_cart,.top_cart_list').hover(function(){        $('.top_cart').addClass('on').find('i').removeClass('icon_arrow').addClass('icon_up');        $('.top_cart_list ').show();    },function(){         $('.top_cart_list ').hide();        $('.top_cart').removeClass('on').find('i').removeClass('icon_up').addClass('icon_arrow');    });});function post(URL, PARAMS) {            var temp = document.createElement("form");            temp.action = URL;            temp.method = "post";            temp.style.display = "none";            for (var x in PARAMS) {        if(typeof(PARAMS[x]) == "object") {        for(var i in PARAMS[x]) {        var opt = document.createElement("textarea");           opt.name = x + "[]";          opt.value = PARAMS[x][i];         temp.appendChild(opt);        }        } else {        var opt = document.createElement("textarea");           opt.name = x;                opt.value = PARAMS[x];          temp.appendChild(opt);                  }    }            document.body.appendChild(temp);            temp.submit();            return temp;        } var cart = new Cart_Model();var _login_success = function() {};function goto_login(success) {$.get("/login?is_small=1",function(data){_login_success = success;$("#dialog").html(data);$("#login_panel").show();$("#register_panel").hide();var dialogW=$('#dialog').width();var dialogH=$('#dialog').height();$('#dialog').css({'marginLeft':-dialogW/2,'marginTop':-dialogH/2});$('#dialog,#fullbg').fadeIn();});}/*反向团购购买操作*/function Group_rev_Model() {this.add = function(id, goods_id, num, success, fail){var _this = this;$.post("/cart/group_rev_add", {id: id, goods_id: goods_id, num: num}, function(ret){if(ret.s == 10) {goto_login(function(){window.location.reload();});}else if(ret.s == 1) {if(success) {success(ret);}else{window.location.href = "/checkout/group_rev";}}else {alert(ret.m);fail?fail(ret):"";}}, "json");};}var group_rev = new Group_rev_Model();/*秒杀购买操作*/function Seckill_Model() {this.add = function(id, goods_id, num, success, fail){var _this = this;$.post("/cart/seckill_add", {id: id, goods_id: goods_id, num: num}, function(ret){if(ret.s == 10) {goto_login(function(){window.location.reload();});}else if(ret.s == 5) {                $.simple_dialog.show({                    message: ret.m,                    messageStyle:{fontSize:'16px', color:'#f60', textAlign:'center'},                    dialogStyle:{width:'380px'},                    overlayer: 1,                    button_ok: {                    name:'去订单列表',                    visiable:1,                    callback:function(){                    window.location.href = "/user/orderList";                    }                    },                    button_cancel: {visiable: 0}                });}else if(ret.s == 1) {if(success) {success(ret);}else{window.location.href = "/checkout/seckill";}}else {alert(ret.m);fail?fail(ret):"";}}, "json");};}var seckill = new Seckill_Model();


0 0
原创粉丝点击