我有一种情况,我不能使用 Jquery UI 是有原因的。我正在尝试在不使用 Jquery UI 的情况下获得 Jquery UI 脉动效果。与此链接类似,http://docs.jquery.com/UI/Effects/Pulsate。我搜索了很多,但找不到任何东西。
问问题
6407 次
3 回答
15
我不知道原始 UI 代码是什么样的,但这是使用 animate 函数的超级简单实现:
$.fn.pulse = function(options) {
var options = $.extend({
times: 3,
duration: 1000
}, options);
var period = function(callback) {
$(this).animate({opacity: 0}, options.duration, function() {
$(this).animate({opacity: 1}, options.duration, callback);
});
};
return this.each(function() {
var i = +options.times, self = this,
repeat = function() { --i && period.call(self, repeat) };
period.call(this, repeat);
});
};
$("div").click(function() {
$(this).pulse({times: 4, duration: 500});
});
检查下面的演示或这个JsFiddle。
$("div").click(function() {
$(this).stop().pulse({times: 4, duration: 300});
});
$.fn.pulse = function(options) {
var options = $.extend({
times: 3,
duration: 1000
}, options);
var period = function(callback) {
$(this).animate({opacity: 0}, options.duration, function() {
$(this).animate({opacity: 1}, options.duration, callback);
});
};
return this.each(function() {
var i = +options.times, self = this,
repeat = function() { --i && period.call(self, repeat) };
period.call(this, repeat);
});
};
div {background-color: green; padding: 20px; display: inline-block;}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div>Click me</div>
于 2013-02-18T10:56:06.207 回答
3
您可以复制 jquery 脉动效果的来源并将其添加到您的项目中。
但有什么意义,如果您可以将该文件添加到您的项目中,为什么不添加原始的 jquery ui pulsate 文件。
您不必下载整个 jquery-ui,只需下载您想要的部分:http: //jqueryui.com/download/。
于 2013-02-18T10:43:13.257 回答
3
这里有一个用于脉动效果的独立 jquery 插件:
于 2013-02-18T10:55:56.587 回答