Toggle navigation
在线编辑器
在线代码
文本比较
jQuery下载
前端库
在线手册
登录/注册
下载代码
html
css
js
分享到微信朋友圈
X
html
css
html { background: black; } body { margin: 0; padding: 0; } .swinger { width: 1px; height: 0px; margin: 0 auto; position: relative; min-height: 400px; } li { position: absolute; top: 10px; left: 50%; width: 1px; height: 1px; list-style: none; animation: swing alternate infinite ease-in-out; } .string { display: block; width: 1px; background-color: rgba(255, 255, 255, 0.3); } .ball { display: block; width: 25px; height: 25px; -moz-border-radius: 30px; -webkit-border-radius: 30px; border-radius: 30px; background: url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4gPHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGRlZnM+PHJhZGlhbEdyYWRpZW50IGlkPSJncmFkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgY3g9IjUwJSIgY3k9IjUwJSIgcj0iNzAlIj48c3RvcCBvZmZzZXQ9IjAlIiBzdG9wLWNvbG9yPSIjYmJiNWM3Ii8+PHN0b3Agb2Zmc2V0PSI3MCUiIHN0b3AtY29sb3I9IiM3MzczNzQiLz48L3JhZGlhbEdyYWRpZW50PjwvZGVmcz48cmVjdCB4PSIwIiB5PSIwIiB3aWR0aD0iMTAwJSIgaGVpZ2h0PSIxMDAlIiBmaWxsPSJ1cmwoI2dyYWQpIiAvPjwvc3ZnPiA=') -3px -5px; background: -moz-radial-gradient(#bbb5c7, #737374 70%) -3px -5px; background: -webkit-radial-gradient(#bbb5c7, #737374 70%) -3px -5px; background: radial-gradient(#bbb5c7, #737374 70%) -3px -5px; border: 1px solid #c8c8c8; content: " "; position: relative; -moz-box-shadow: 0 2px 2px 1px rgba(0, 0, 0, 0.2), -2px -2px 4px 3px rgba(0, 0, 0, 0.1) inset; -webkit-box-shadow: 0 2px 2px 1px rgba(0, 0, 0, 0.2), -2px -2px 4px 3px rgba(0, 0, 0, 0.1) inset; box-shadow: 0 2px 2px 1px rgba(0, 0, 0, 0.2), -2px -2px 4px 3px rgba(0, 0, 0, 0.1) inset; } @keyframes swing { from { -moz-transform: rotate(-25deg); -ms-transform: rotate(-25deg); -webkit-transform: rotate(-25deg); transform: rotate(-25deg); } to { -moz-transform: rotate(25deg); -ms-transform: rotate(25deg); -webkit-transform: rotate(25deg); transform: rotate(25deg); } }
JavaScript
var swinger = $(".swinger"); // Insert DOM for (var i = 0; i < 15; i++) { var stringContainer = document.createElement('li'); var string = document.createElement('span'); var ball = document.createElement('span'); stringContainer.className = 'no' + i; string.className = "string"; ball.className = "ball"; swinger.append(stringContainer); $(stringContainer).append(string, ball); } var g = 9.8; // gravity var maxOsc = 15; // number of oscillations the longest pendulum performs in the cycle var duration = 240; // duration of one cycle in seconds // Calculate string heights var height = []; for (var j = 0; j < 15; j++) { var length = g * duration / Math.pow((2 * Math.PI * (maxOsc + j)), 2); // equation to calculate string lengths for harmonic wave pendulum height.push(length); } height.reverse(); var sizeCoeff = 150; // Use harmonic pendulum equation to animate var elements = $("li"); for (var k = 0; k < 15; k++) { var that = elements[k]; var time = 2 * Math.PI * Math.sqrt(height[k] / g); // harmonic wave pendulum equation var size = sizeCoeff * height[k]; $(".string", that).height(size * 10); // magic numbers for string length in px $(".ball", that) .height(size) .width(size) .css('left', (-1/2) * size); $(that).attr("style", "animation-duration: " + time + "s;"); };
粒子
时间
文字
hover
canvas
3d
游戏
音乐
火焰
水波
轮播图
鼠标跟随
动画
css
加载动画
导航
菜单
按钮
滑块
tab
弹出层
统计图
svg
×
Close
在线代码下载提示
开通在线代码永久免费下载,需支付20jQ币
开通后,在线代码模块中所有代码可终身免费下!
您已开通在线代码永久免费下载,关闭提示框后,点下载代码可直接下载!
您已经开通过在线代码永久免费下载
对不起,您的jQ币不足!可通过发布资源 或
直接充值获取jQ币
取消
开通下载
<!doctype html> <html> <head> <meta charset="utf-8"> <title>谐波摇摆运动-jq22.com</title> <script src="https://www.jq22.com/jquery/jquery-1.10.2.js"></script> <style>
</style> </head> <body>
<script>
</script>
</body> </html>
2012-2021 jQuery插件库版权所有
jquery插件
|
jq22工具库
|
网页技术
|
广告合作
|
在线反馈
|
版权声明
沪ICP备13043785号-1
浙公网安备 33041102000314号