在 jQuery 中,动画效果通常通过内置动画方法、自定义动画(.animate())或结合插件来实现。下面我分几种常见方式来说明,包括如何使用 jQuery 做动画以及如何写一个带动画的 jQuery 插件。
$("#box").hide(500); // 隐藏(动画)
$("#box").show(500); // 显示
$("#box").toggle(500); // 切换
$("#box").slideDown(500);
$("#box").slideUp(500);
$("#box").slideToggle(500);
$("#box").fadeIn(500);
$("#box").fadeOut(500);
$("#box").fadeToggle(500);
.animate() 自定义动画(核心)$("#box").animate({
width: "300px",
height: "200px",
opacity: 0.5,
left: "100px"
}, 800, function () {
// 动画完成回调
});
✅ 支持属性:
width / heightopacityleft / topmargin / padding(function ($) {
$.fn.shake = function (options) {
const settings = $.extend({
distance: 10,
duration: 100
}, options);
return this.each(function () {
const $this = $(this);
$this.animate({ left: "-=" + settings.distance }, settings.duration)
.animate({ left: "+=" + settings.distance * 2 }, settings.duration)
.animate({ left: "-=" + settings.distance }, settings.duration);
});
};
})(jQuery);
$("#btn").click(function () {
$("#box").shake();
});
$("#box")
.slideUp(300)
.delay(200)
.fadeIn(300)
.animate({ width: "400px" }, 500);
jQuery 动画性能一般,新项目建议:
$("#box").addClass("animate");
.animate {
transition: all 0.5s;
transform: translateX(100px);
}
如果你愿意,我可以:
✅ 帮你写一个完整 jQuery 插件示例
✅ 写一个轮播 / 弹窗 / 菜单动画插件
✅ 对比 jQuery 动画 vs CSS 动画
你现在是想用动画还是写插件?
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。