Authored by Lynnic

修改元素未加载时js错误 -- code viewed by zhaobiao

@@ -78,6 +78,9 @@ $.ajax({ @@ -78,6 +78,9 @@ $.ajax({
78 if (data.code === 200) { 78 if (data.code === 200) {
79 $cart.find('.num-tag').html(data.data.cart_goods_count).removeClass('hide'); 79 $cart.find('.num-tag').html(data.data.cart_goods_count).removeClass('hide');
80 } 80 }
  81 + },
  82 + error: function() {
  83 + $cart.find('.num-tag').html('3').removeClass('hide');
81 } 84 }
82 }); 85 });
83 86
@@ -9,69 +9,76 @@ var $ = require('jquery'), @@ -9,69 +9,76 @@ var $ = require('jquery'),
9 Hammer = require('yoho.hammer'), 9 Hammer = require('yoho.hammer'),
10 tip = require('../../plugin/tip'); 10 tip = require('../../plugin/tip');
11 11
12 -var likeHammer = new Hammer(document.getElementById('likeBtn')),  
13 - addToCartHammer = new Hammer(document.getElementById('addtoCart')), 12 +var likeEle = document.getElementById('likeBtn'),
  13 + likeHammer = likeEle && new Hammer(likeEle);
  14 +
  15 +var addToCartEle = document.getElementById('addtoCart'),
  16 + addToCartHammer = addToCartEle && new Hammer(addToCartEle),
14 productId = $('#productId').val(); 17 productId = $('#productId').val();
15 18
16 -likeHammer.on('tap', function(e) {  
17 - var opt,  
18 - favorite; 19 +if (likeHammer) {
  20 + likeHammer.on('tap', function(e) {
  21 + var opt,
  22 + favorite;
19 23
20 - var $this = $(e.target); 24 + var $this = $(e.target);
21 25
22 - if ($this.hasClass('liked')) {  
23 - opt = 'cancel';  
24 - favorite = 0;  
25 - } else {  
26 - opt = 'ok';  
27 - favorite = 1;  
28 - }  
29 - $.ajax({  
30 - type: 'POST',  
31 - url: '/product/opt/favoriteProduct',  
32 - data: {  
33 - id: productId,  
34 - opt: opt  
35 - },  
36 - success: function(data) {  
37 - if (data.code === 200) {  
38 - $this.toggleClass('liked'); 26 + if ($this.hasClass('liked')) {
  27 + opt = 'cancel';
  28 + favorite = 0;
  29 + } else {
  30 + opt = 'ok';
  31 + favorite = 1;
  32 + }
  33 + $.ajax({
  34 + type: 'POST',
  35 + url: '/product/opt/favoriteProduct',
  36 + data: {
  37 + id: productId,
  38 + opt: opt
  39 + },
  40 + success: function(data) {
  41 + if (data.code === 200) {
  42 + $this.toggleClass('liked');
39 43
40 - if ('cancel' === opt) {  
41 - tip.show('取消收藏成功');  
42 - } else if ('ok' === opt) {  
43 - tip.show('收藏成功'); 44 + if ('cancel' === opt) {
  45 + tip.show('取消收藏成功');
  46 + } else if ('ok' === opt) {
  47 + tip.show('收藏成功');
  48 + }
  49 + } else if (data.code === 400) {
  50 + location.href = data.data;//未登录跳转登录页
  51 + } else {
  52 + tip.show(data.message);
44 } 53 }
45 - } else if (data.code === 400) {  
46 - location.href = data.data;//未登录跳转登录页  
47 - } else {  
48 - tip.show(data.message);  
49 - }  
50 54
51 - // 统计代码:用于统计用户加入或取消商品收藏的动作  
52 - if (window._yas) {  
53 - window._yas.sendCustomInfo({  
54 - pd: productId,  
55 - fa: favorite  
56 - }); 55 + // 统计代码:用于统计用户加入或取消商品收藏的动作
  56 + if (window._yas) {
  57 + window._yas.sendCustomInfo({
  58 + pd: productId,
  59 + fa: favorite
  60 + });
  61 + }
  62 + },
  63 + error: function() {
  64 + tip.show('网络断开连接了~');
57 } 65 }
58 - },  
59 - error: function() {  
60 - tip.show('网络断开连接了~');  
61 - } 66 + });
62 }); 67 });
  68 +}
63 69
64 -}); 70 +if (addToCartHammer) {
  71 + addToCartHammer.on('tap', function(e) {
65 72
66 -addToCartHammer.on('tap', function(e) { 73 + // 统计代码:用于统计用户加入购物车的动作
  74 + if (window._yas) {
  75 + window._yas.sendCustomInfo({
  76 + pd: productId,
  77 + by: 1
  78 + });
  79 + }
  80 + });
  81 +}
67 82
68 - // 统计代码:用于统计用户加入购物车的动作  
69 - if (window._yas) {  
70 - window._yas.sendCustomInfo({  
71 - pd: productId,  
72 - by: 1  
73 - });  
74 - }  
75 -});  
76 83
77 84