data: {
hide_good_box: true ,
},
onLoad: function (options) {
this .busPos = {};
this .busPos[ 'x' ] = app.globalData.ww/2;
this .busPos[ 'y' ] = app.globalData.hh - 10;
console.log( '购物车坐标' , this .busPos)
},
touchOnGoods: function (e) {
// 如果good_box正在运动
if (! this .data.hide_good_box) return ;
this .finger = {};
var topPoint = {};
this .finger[ 'x' ] = e.touches[ "0" ].clientX;
this .finger[ 'y' ] = e.touches[ "0" ].clientY;
if ( this .finger[ 'y' ] < this .busPos[ 'y' ]) {
topPoint[ 'y' ] = this .finger[ 'y' ] - 150;
} else {
topPoint[ 'y' ] = this .busPos[ 'y' ] - 150;
}
topPoint[ 'x' ] = Math.abs( this .finger[ 'x' ] - this .busPos[ 'x' ]) / 2;
if ( this .finger[ 'x' ] > this .busPos[ 'x' ]) {
topPoint[ 'x' ] = ( this .finger[ 'x' ] - this .busPos[ 'x' ]) / 2 + this .busPos[ 'x' ];
} else {
topPoint[ 'x' ] = ( this .busPos[ 'x' ] - this .finger[ 'x' ]) / 2 + this .finger[ 'x' ];
}
this .linePos = app.bezier([ this .finger, topPoint, this .busPos], 20);
this .startAnimation();
},
startAnimation: function () {
var index = 0,
that = this ,
bezier_points = that.linePos[ 'bezier_points' ],
len = bezier_points.length - 1;
this .setData({
hide_good_box: false ,
bus_x: that.finger[ 'x' ],
bus_y: that.finger[ 'y' ]
})
this .timer = setInterval( function () {
index++;
that.setData({
bus_x: bezier_points[index][ 'x' ],
bus_y: bezier_points[index][ 'y' ]
})
if (index >= len) {
clearInterval(that.timer);
that.setData({
hide_good_box: true ,
})
}
}, 15);
},
|