1
首先需要引入一个jquery.fly.min.js文件(可自行搜索,也可以在本人的百度云盘中找到)
2
设置抛物线的位置(起点也可以是整个页面的可点击区域,即body):
抛物线起点,此例中为.left_btn(标签的classname)
抛物线终点,此例中为.gwcimg(标签的classname)
3
创建JS方法:
$('.left_btn').on('click', addProduct)
function addProduct(event){
var offset = $(".gwcimg").offset(),
//抛物线图片,可自行更改
flyer = $('<img src="brandmarket/image/gwc.png" width="36" height="36">')
flyer.fly({
start: {
left: event.pageX,
top: event.pageY
},
end: {
left: offset.left,
top: offset.top,
//抛物线完成后留在页面上的图片大小
width: 20,height: 20
}
})
}
4
大致有两种效果,一种是每添加一次就在购物车的数字上加一,数字显示的位置可以用CSS样式控制,然后把上一步中“抛物线完成后留在页面上的图片大小”中宽高值都设置为0,效果如下:
5
另一种是将数字用图片代替,此为默认的效果,改变浏览器大小的时候,用来代替的图片会一直停留在绝对位置,效果如下:
http://jingyan.baidu.com/article/ceb9fb10c13bac8cac2ba05a.html
可以做一个animation,举一个例子,让一个元素在某一个范围之内,左距离和上距离同时改变。但是,弧线要让两个距离改变速度变化不一致,所以最好一个元素改变上方距离(可以是top也可是margin-top),里面嵌入一个元素改变左边距离。例如,假如你要让横轴均匀变化,纵轴不均匀变化,轨迹为⌒形,可以左变化为{from{margin-left:0px}to{margin-left:200px}},运动方式设为linear,然后上下变化可以{from{margin-top:100px}50%{margin-top:0px}to{margin-top:100px}},运动方式设为ease-in-out。由于时间仓促我没有具体实验过,而且表达可能不太清楚,请原谅。