<script type="text/javascript">
$(document).ready(function(){
$("#fish").animate({left:300},1000)
.animate({top:200},1000)
.animate({left:0},200)
.animate({top:0},200)
});
</script>这段jQuery代码实现了让id为"fish"的HTML元素在页面上完成矩形路径移动并回到原点的动画效果。
实现转一圈的逻辑:
向右移动:元素在1000毫秒内向右移动300像素(left: 300)
向下移动:接着在1000毫秒内向下移动200像素(top: 200)
向左移动:然后在200毫秒内向左移动回起点(left: 0)
向上移动:最后在200毫秒内向上移动回起点(top: 0)
转一圈的完整路径:
起点(0,0) → 右→ (300,0) → 下→ (300,200) → 左→ (0,200) → 上→ 终点(0,0)
动画特点:
使用jQuery的animate()方法链式调用
不同方向的移动速度不同(向右和向下较慢,向左和向上较快)
最终精确返回起始位置,完成完整的一圈移动
这种实现方式通过控制元素的CSS定位属性(left和top),按照矩形轨迹依次移动,最终形成环绕一周并返回原点的动画效果。
(top: 200)和(left: 300)在上面是啥意思
在上述代码中,top: 200 和 left: 300 是 CSS 属性,用于控制元素的定位:
top: 200:作用:将元素的顶部边缘移动到距离其父容器顶部 200 像素的位置。
效果:使元素向下移动 200 像素(相对于初始位置)。
left: 300:作用:将元素的左侧边缘移动到距离其父容器左侧 300 像素的位置。
效果:使元素向右移动 300 像素(相对于初始位置)。
代码中的具体应用
在动画序列中:
animate({top: 200}, 1000):元素在 1000 毫秒内向下移动 200 像素。animate({left: 300}, 1000):元素在 1000 毫秒内向右移动 300 像素。
视觉效果
移动路径:元素先向下再向右,形成一个直角路径。
最终位置:元素位于父容器的 (300, 200) 坐标处(假设初始位置为 (0, 0))。
关键点
单位:默认使用像素(px),但可指定其他单位(如
%、em等)。父容器:需确保父元素设置了
position: relative或position: absolute,否则top和left无效。
示例:若元素初始位置为 (0, 0),执行
top: 200后,其顶部边缘将位于父容器顶部下方 200 像素处。