首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >JQuery:使用fadeIn/fadeOut显示隐藏的div,同时保留间距/流

JQuery:使用fadeIn/fadeOut显示隐藏的div,同时保留间距/流
EN

Stack Overflow用户
提问于 2017-06-27 15:40:46
回答 2查看 76关注 0票数 0

我试图通过悬停在另一个div上来使用jQuery来显示隐藏的div。隐藏的div应该一直占据它的空间。在使用可见性时,这样做很好,如下所示:

代码语言:javascript
复制
$('.frase-1').mouseenter(function() {
    $('.field-1').css('visibility', 'visible');
});
$('.frase-1').mouseleave(function() {
    $('.field-1').css('visibility', 'hidden');
});

但我想使用fadeIn/fadeOut效果,如:

代码语言:javascript
复制
$('.frase-2').mouseenter(function() {
  $('.field-2').fadeIn(500);
});
$('.frase-2').mouseleave(function() {
  $('.field-2').fadeOut(500);
});

后一种解决方案的问题是,隐藏的div将被设置为显示:none,这将改变页面的布局和流程。我找到了一个建议通过使用动画({透明性})解决这个问题的答案,如下所示:

代码语言:javascript
复制
$('.frase-3').mouseenter(function() {
  $('.field-3').animate({opacity:1});
});
$('.frase-3').mouseleave(function() {
  $('.field-3').animate({opacity:0});
});

这只起一半的作用:当页面加载时,隐藏的div是可见的(在它不应该看到的地方),并且只有在悬停时才会第一次消失。

fadeTo也被建议了很多次,但这似乎存在跨平台问题,所以我没有使用它。

我已经把这三种解决方案都放在了这个小提琴中--有没有人提出了解决这个问题的建议?

谢谢!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-06-27 15:47:44

在解决方案3中,将CSS中的不透明度设置为0,以便在加载时隐藏元素。示例:https://jsfiddle.net/ke0ympv7/82/

票数 0
EN

Stack Overflow用户

发布于 2017-06-27 16:04:22

将第三个解决方案与下面的CSS一起使用

代码语言:javascript
复制
.field-3{
  opacity:0;
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44784510

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档