帮助中心
获取牛币
联系我们
关于我们
版权声明
素材牛首页
微博登录
QQ登录
微信扫码登录
注册
登录
新浪微博
QQ登陆
微信登录
热门搜索:
小程序
支付
Java
后台模板
上传
商城模板
jQuery
手机
Thinkphp
微信
Vue.js
首 页
网页特效
整站源码
PHP实例
网站模版
工具箱
常用代码
论坛
游戏源码
资源分享
当前位置:
首页
»
精选常用代码
» 抛物线商品加入购物车运动动画效果
抛物线商品加入购物车运动动画效果
浏览:910次
-
评论:1次
-
发布时间:2022-07-24
Html
Css
Js
加入购物车
加入购物车
加入购物车
加入购物车
加入购物车
加入购物车
加入购物车
加入购物车
购
#right { width:300px; height:500px; position:fixed; right:0; top:50px; background:red; } #bian { width:30px; height:500px; position:absolute; left:0; top:0; cursor:pointer; background:#000; } .box { width:100px; height:40px; background:blue; margin:30px; float:left; color:#fff; font-weight:bold; text-align:center; line-height:40px; cursor:pointer; position:relative; } #main { width:640px; height:200px; position:absolute; left:50px; top:20px; } #shop { width:25px; height:25px; border-radius:50%; background:orangered; color:#fff; font-weight:bold; text-align:center; line-height:25px; font-size:20px; position:relative; top:200px; } .lei { width:20px; height:20px; background:red; border-radius:50%; position:absolute; }
function getStyle(obj, attr) { return obj.currentStyle ? obj.currentStyle[attr] : getComputedStyle(obj)[attr]; } function startMove(obj, json, endFn) { var iCur = 0; var speed = 0; clearInterval(obj.timer); obj.timer = setInterval(function() { var onOff = true; for (var attr in json) { if (attr == "opacity") iCur = Math.round(getStyle(obj, "opacity") * 100); else iCur = parseInt(getStyle(obj, attr)); var target = json[attr]; speed = (target - iCur) / 8; speed = (target - iCur) > 0 ? Math.ceil(speed) : Math.floor(speed); if (iCur != target) { onOff = false; if (attr == "opacity") { obj.style.opacity = (iCur + speed) / 100; obj.style.filter = "alpha(opacity=" + iCur + speed + ")"; } else { obj.style[attr] = iCur + speed + "px"; } } } if (onOff) { clearInterval(obj.timer); endFn && endFn(); } }, 30) } function parabola(obj, target, speed, fn) { var a = 0.001; var dis = 0; obj.timer = null; var coord = { x: target.left - obj.offsetLeft, y: target.top - obj.offsetTop, } var b = (coord.y - a * coord.x * coord.x) / coord.x; var yuandian = { left: obj.offsetLeft, top: obj.offsetTop } obj.timer = setInterval(function() { dis += speed; obj.style.left = yuandian.left + dis + "px"; obj.style.top = yuandian.top + a * dis * dis + b * dis + "px"; if (dis >= coord.x) { clearInterval(obj.timer); obj.style.left = target.x + "px"; obj.style.top = target.y + "px"; fn && fn(); } }, 30) } window.onload = function() { var oBody = document.getElementById("oBody"); var oMian = document.getElementById("main"); var aDiv = oMian.getElementsByTagName("div"); var oRight = document.getElementById("right"); var oShop = document.getElementById("shop"); var oBian = document.getElementById("bian"); //用于右侧div展开收缩 var onOff = true; //用于控制发射运动过程中的右侧div变化位置 var onOff2 = true; oBian.onclick = function() { if (onOff2) { if (onOff) { startMove(oRight, { right: -270 }) } else { startMove(oRight, { right: 0 }) } onOff = !onOff; } } //抛物线运动 //定义一个变量用于计算运动的数量 var num = 0; for (var i = 0; i < aDiv.length; i++) { aDiv[i].onclick = function(ev) { onOff2 = false; ev = ev || event; var oDiv = document.createElement("div"); oDiv.className = "lei"; //做一个滚动的兼容 var scrollT = document.documentElement.scrollTop || document.body.scrollTop; oDiv.style.left = ev.clientX + "px"; oDiv.style.top = ev.clientY + scrollT + "px"; oBody.appendChild(oDiv); //抛物线运动 parabola(oDiv, { //通过执行getPos获取oShop距离浏览器边缘的距离 left: getPos(oShop).l, top: getPos(oShop).t }, 15, function() { num++; oShop.innerHTML = num; oBody.removeChild(oDiv); onOff2 = true; }) } }; //得到距离浏览器顶部距离 //alert(getPos(oShop).l); function getPos(obj) { var iTop = 0; var iLeft = 0; while (obj) { iTop += obj.offsetTop; iLeft += obj.offsetLeft; obj = obj.offsetParent; } return { t: iTop, l: iLeft }; } }
↑上面代码改变,会自动显示代码结果
jQuery调用版本:
1.11.3
<!doctype html><html><head><meta charset="utf-8"><title>抛物线商品加入购物车运动动画效果-www.sucainiu.com</title><script src="https://libs.baidu.com/jquery/1.11.3/jquery.min.js"></script><style>
</style></head><body>
<script>
</script>
</body></html>
立即下载
收藏
积分说明:注册即送10牛币,每日签到可获得5牛币,成为VIP会员可永久免牛币下载!
充值积分
充值会员
更多说明»
代码描述:淘宝商品加入购物车抛物线效果
原生js购物车运动效果需要整个页面看 效果
jQuery实现的table表格隔行换色效果
JS文字闪烁效果
讨论这个常用代码(1)
回答他人问题或分享心得会奖励牛币
Lv2 入门
qq***79
2022年11月04日
厉害啊
回复
文明上网,理性发言! 😉 阿里云幸运券,
戳我领取
发表评论
提交回复
我的积分余额:
0
已下载次数:
910
所需牛币:
5
开始下载
牛币获取:
签到、评论、充值
» 在线充值
(10牛币=1元)
成为VIP可永久免积分下载全部常用代码
» 查看详情
VIP
客服
签到
充值