fade在悬停时切换下一个元素

发布于 2024-12-10 04:47:01 字数 463 浏览 0 评论 0 原文

我有以下代码来显示 dom 中单击时的下一个元素,我想将相同的代码转换为可用于简单悬停事件的代码。 jQuery 是否有一个简单的方法来执行类似的操作,或者我应该使用 .bind()mouseovermouseout 事件?我知道这应该很简单,我可能只是没有思考清楚。

$('#el').click(function(e){
    e.preventDefault();
    var $prevEl =   $(this).parent().find('.prev-el');
    $prevEl.fadeToggle();
});

值得一提的是,我希望 $prevEl 在悬停触发 #el 元素后保持可见。解决这个问题的最佳方法是什么?

提前谢谢你,

DT

I have the following code to show the next element in the dom on click, I would like to convert this same code into something I could use for a simple hover event. Does jQuery have a simple method to do something like this or should I be using .bind() to mouseover and mouseout events? I know this should be simple, I am probably just not thinking clearly.

$('#el').click(function(e){
    e.preventDefault();
    var $prevEl =   $(this).parent().find('.prev-el');
    $prevEl.fadeToggle();
});

One thing to mention is I would like the $prevEl to stay visible after hovering the triggering #el element. What is the best way to go about this?

Thank you in advance,

DT

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

暖风昔人 2024-12-17 04:47:01

您可以使用 $('#el').mouseover(... 而不是 $('#el').click(...,但您应该使用当您使用 mouseover 时,使用 fadeIn 而不是 fadeToggle

$('#el').mouseover(function(e) {
    var $prevEl = $(this).parent().find('.prev-el');
    $prevEl.fadeIn();
});

http://jsfiddle.net/mblase75/eXjTb/3/

如果您希望它在鼠标移开时淡出,请使用 .hover 作为简写将两者结合起来并保留 fadeToggle 的方法:

$('#el').hover(function(e) {
    var $prevEl = $(this).parent().find('.prev-el');
    $prevEl.fadeToggle();
});

http://jsfiddle.net/mblase75/eXjTb/2/

You can use $('#el').mouseover(... instead of $('#el').click(..., but you should use fadeIn instead of fadeToggle when you're using mouseover:

$('#el').mouseover(function(e) {
    var $prevEl = $(this).parent().find('.prev-el');
    $prevEl.fadeIn();
});

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 the fadeToggle:

$('#el').hover(function(e) {
    var $prevEl = $(this).parent().find('.prev-el');
    $prevEl.fadeToggle();
});

http://jsfiddle.net/mblase75/eXjTb/2/

爱情眠于流年 2024-12-17 04:47:01

这应该有效:

$('#el').mouseover(function(){
    $(this).parent().find('.prev-el').fadeIn();
});

顺便说一下,您可以使用 .next().prev() 而不是 .parent().find(...) (取决于您的html)

this should work:

$('#el').mouseover(function(){
    $(this).parent().find('.prev-el').fadeIn();
});

By the way, you can use .next() and .prev() instead of .parent().find(...) (depending on your html)

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文