交叉淡入淡出 DIV + 悬停时停止动画
Crossfading DIVs + stopping animation on hover
可以这样做吗:http://jsfiddle.net/arunpjohny/asTBL/
jQuery(function () {
var $els = $('div[id^=quote]'),
i = 0,
len = $els.length;
$els.slice(1).hide();
setInterval(function () {
$els.eq(i).fadeOut(function () {
i = (i + 1) % len
$els.eq(i).fadeIn();
})
}, 2500)
})
但是,随着DIV直接相互交叉淡入淡出,而不是先淡入白色,然后从白色淡入
淡出?另外,是否可以在悬停时停止动画(并在不悬停时恢复动画)?
我搜索了几种解决方案,但找不到一种方法(我是javascript的菜鸟)。CSS 解决方案不符合我的需求,因为它们无法与内部有链接的 DIF 一起正常工作......
提前非常感谢你。
要使您的div 同时淡入淡出,您需要添加一些样式(使引号彼此重叠)并同时运行淡入淡出。 然后,您需要清除悬停超时以暂停动画:
jQuery(function () {
var $els = $('div.quote'),
i = 0,
len = $els.length;
$els.slice(1).hide();
var fadeInterval = setFadeInterval(); // starts the fader
$els.hover(function () {
clearInterval(fadeInterval); // stops the fader on mouseover
},
function () {
fadeInterval = setFadeInterval(); // restarts the fader on mouseout
});
function setFadeInterval() {
return setInterval(function () {
$els.eq(i).fadeOut(); // run the faders at the same time
i = (i + 1) % len
$els.eq(i).fadeIn();
}, 2500);
}
});
/* make the faders sit on top of each other */
#quote-holder {
position:relative;
}
#quote-holder > .quote {
position:absolute;
top:0;
left:0;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<div id="quote-holder">
<div id="quote1" class="quote"> <span class="quote">I am a quote</span>
<span class="author">Author Name</span>
</div>
<div id="quote2" class="quote">I am another quote</div>
<div id="quote3" class="quote">I am yet another quote</div>
</div>
JSFIDDLE
jQuery(function () {
var $els = $('div[id^=quote]'),
i = 0,
len = $els.length;
$els.slice(1).hide();
var timer = setInterval(animation, 2500)
function animation(){
$els.eq(i).fadeOut(function () {
i = (i + 1) % len
$els.eq(i).fadeIn();
})
}
$('#content').hover(function (){
clearInterval(timer);
},function (){
setInterval(animation,2500);
})
})
我重组您的代码并创建一个动画函数来实现。
相关文章:
- jQuery悬停动画只在其他类似元素中的一个元素上
- 如何动画删除悬停后的背景
- 如何在鼠标悬停时停止动画
- jQuery透明图像描述鼠标悬停时的幻灯片动画
- 悬停在动画文本上后,文本淡入淡出不会返回
- 在悬停Jquery/cs3时通过翻转动画更改文本
- 如何在 jquery 中克服此问题以获得动画悬停效果
- 悬停不起作用时对不透明度更改进行动画处理
- 我只想在卡片悬停上悬停动画,而不是在身体上
- 为什么在使用JQuery时,当我悬停时,没有流畅的动画
- 使用 javascript 在鼠标悬停时停止动画
- jQuery mouseout动画仅在第二次悬停后启动
- 用这个jQuery动画菜单悬停超链接
- 如何使用if hasClass条件禁用jQuery mouseleave事件?//悬停动画
- 使用Javascript悬停的CSS动画
- Chrome动画CSS3三维立方体与悬停状态问题
- d3将鼠标悬停在表格上时,制作图表动画
- CSS动画悬停在外
- 拉斐尔饼图动画悬停
- 旋转动画悬停,但同时移动鼠标悬停->取消