fade在悬停时切换下一个元素
我有以下代码来显示 dom 中单击时的下一个元素,我想将相同的代码转换为可用于简单悬停事件的代码。 jQuery 是否有一个简单的方法来执行类似的操作,或者我应该使用 .bind()
来 mouseover
和 mouseout
事件?我知道这应该很简单,我可能只是没有思考清楚。
$('#el').click(function(e){
e.preventDefault();
var $prevEl = $(this).parent().find('.prev-el');
$prevEl.fadeToggle();
});
值得一提的是,我希望 $prevEl
在悬停触发 #el
元素后保持可见。解决这个问题的最佳方法是什么?
提前谢谢你,
DT
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您可以使用
$('#el').mouseover(...
而不是$('#el').click(...
,但您应该使用当您使用mouseover
时,使用fadeIn
而不是fadeToggle
:http://jsfiddle.net/mblase75/eXjTb/3/
如果您希望它在鼠标移开时淡出,请使用
.hover
作为简写将两者结合起来并保留fadeToggle
的方法:http://jsfiddle.net/mblase75/eXjTb/2/
You can use
$('#el').mouseover(...
instead of$('#el').click(...
, but you should usefadeIn
instead offadeToggle
when you're usingmouseover
:http://jsfiddle.net/mblase75/eXjTb/3/
If you want it to fade back out on mouseout, though, use
.hover
as a shorthand way to combine the two and keep thefadeToggle
:http://jsfiddle.net/mblase75/eXjTb/2/
这应该有效:
顺便说一下,您可以使用 .next() 和 .prev() 而不是
.parent().find(...)
(取决于您的html)this should work:
By the way, you can use .next() and .prev() instead of
.parent().find(...)
(depending on your html)