我需要的:
我需要一个动画elipisis(...),前一后出现的一个点。 动画需要循环。 我想通过jQuery实现这一目标
动画序列:
第1帧:等待您的选择
2帧:等待您的选择。
框架3:等待你的选择..
框架4:等待您的选择...
我已经试过:
我一直在研究一个插件闪烁的文字和搏动.effect() 。
我的问题:
有没有人对实现这一目标的最简单,最可靠的手段任何建议步骤? 我很乐意指出的技术或功能。
我需要一个动画elipisis(...),前一后出现的一个点。 动画需要循环。 我想通过jQuery实现这一目标
第1帧:等待您的选择
2帧:等待您的选择。
框架3:等待你的选择..
框架4:等待您的选择...
我一直在研究一个插件闪烁的文字和搏动.effect() 。
有没有人对实现这一目标的最简单,最可靠的手段任何建议步骤? 我很乐意指出的技术或功能。
如果你只是需要点出现了一个又一个只有一次,你可以试试下面的很简单:
<div id="message">Awaiting your selection</div>
var dots = 0;
$(document).ready(function() {
setInterval (type, 600);
});
function type() {
if(dots < 3) {
$('#message').append('.');
dots++;
}
}
http://jsfiddle.net/fVACg/
如果你希望它们出现不止一次(被删除,然后重新打印),你可以这样做如下:
<div>Awaiting your selection<span id="dots"></span></div>
var dots = 0;
$(document).ready(function() {
setInterval (type, 600);
});
function type() {
if(dots < 3) {
$('#dots').append('.');
dots++;
} else {
$('#dots').html('');
dots = 0;
}
}
http://jsfiddle.net/wdVh8/
最后,检出一个教程 ,我几年前写的。 你可能会觉得它有用。
除了使用jQuery StathisG的回答,您可以通过使用CSS3实现也是它的动画迭代次数和动画延迟
@-webkit-keyframes opacity {
0% { opacity: 1; }
100% { opacity: 0; }
}
@-moz-keyframes opacity {
0% { opacity: 1; }
100% { opacity: 0; }
}
#loading {
text-align: center;
margin: 100px 0 0 0;
}
#loading span {
-webkit-animation-name: opacity;
-webkit-animation-duration: 1s;
-webkit-animation-iteration-count: infinite;
-moz-animation-name: opacity;
-moz-animation-duration: 1s;
-moz-animation-iteration-count: infinite;
}
#loading span:nth-child(1) {
-webkit-animation-delay: 100ms;
-moz-animation-delay: 100ms;
}
#loading span:nth-child(2) {
-webkit-animation-delay: 300ms;
-moz-animation-delay: 300ms;
}
#loading span:nth-child(3) {
-webkit-animation-delay: 500ms;
-moz-animation-delay: 500ms;
}
DEMO: http://jsfiddle.net/VXdhG/1/
我写了一个简单的jQuery插件吧: https://github.com/karbachinsky/jquery-DotAnimation
//<div class="element">Loading</div>
$(function () {
// Animation will start at once
var $el = $('.element');
$el.dotAnimation({
speed: 300,
dotElement: '.',
numDots: 3
});
});
的jsfiddle例如: https://jsfiddle.net/bcz8v136/
下面的代码是基本上就是我结束了。
JavaScript的:
var animatedDot;
animatedDot = animatedDot || (function () {
var dots = 0;
var animatedDotInterval;
var selectorAnimatedDot = ".animatedDot";
return {
start: function(interval) {
if (!interval)
interval = 400;
animatedDotInterval = setInterval(this.nextFrame, interval);
},
stop: function() {
if (animatedDotInterval)
clearInterval(animatedDotInterval);
},
nextFrame: function() {
if ($(selectorAnimatedDot).length) {
if (dots < 3) {
$(selectorAnimatedDot).append('.');
dots++;
} else {
$(selectorAnimatedDot).html('');
dots = 0;
}
} else {
if (animatedDotInterval)
clearInterval(animatedDotInterval);
}
}
};
})();
function animatedDotTimeout(timeout) {
if (!timeout)
timeout = 10000;
animatedDot.start();
setTimeout(animatedDot.stop, timeout);
}
HTML:
Loading<span class="animatedDot"></span>
<script type="text/javascript">
$(document).ready(function() {
animatedDot.start();
});
</script>