javascript - FadeIn FadeOut 以及为什么 div 会移动?

标签 javascript jquery html css

可能是我遗漏的东西,但我对此有点头疼。

我想让“子菜单 div”在显示/隐藏链接的右侧对齐。

当我加载 div 时,它的位置是正确的,但是当我单击以隐藏/显示链接时,div 突然将位置更改为底部。

顺便说一句,有没有其他更好的方法来做到这一点,或者这个很好?另外,如果我不想在页面加载时显示 div,我正在考虑使用 .hide() 或隐藏样式,可以吗?

示例 http://jsfiddle.net/DH75T/

提前致谢

CSS

div.inline2 {
    display: inline-block;
    width: 150px;
}
div.inline {
    position:absolute;
    display: inline-block;
    border:1px solid #CCC;
    background:#FFF;
} 

JS

$(document).ready(function() {  

  $('a#show').click(function() {
    $('div#submenu').fadeIn();
  });

  $('a#hide').click(function() {
    $('div#submenu').fadeOut();
  });
});

HTML

  <div class="inline2">
    <a href="#" id="show">Show_links</a>
    <a href="#" id="hide">Hide links</a>
  </div>

  <div class="inline" id="submenu">
    <a href="#">Link 1</a><br />
    <a href="#">Link 2</a>
  </div>

最佳答案

fadeIn() 添加 div 样式 display: block; 所以 div 显示到下一行


在 div 被样式化之前 inline-block

div.inline2 {
    display: inline-block;
    width: 150px;
}


<知识库> fiddle Demo

使用类添加 fadeInfadeOut 的效果,而无需将 div 移动到下一行

$(document).ready(function () {
    $('a#show').click(function () {
        $('div#submenu').removeClass('hidden').addClass('visible');
    });

    $('a#hide').click(function () {
        $('div#submenu').addClass('hidden').removeClass('visible');
    });
});

CSS

.visible {
    opacity: 1;
    transition: opacity 2s linear;
}
.hidden {
    visibility: hidden;
    opacity: 0;
    transition: visibility 0s 2s, opacity 2s linear;
}

关于javascript - FadeIn FadeOut 以及为什么 div 会移动?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20165010/

相关文章:

jquery - 当我将 mousemove 事件绑定(bind)到父级时,如何阻止子级响应 mousemove 事件?

javascript - 在一个 jquery 对象中抓取多种类型的标签

javascript - html5 视频标签以在同一 div 中显示视频

javascript - 使 div 仅使用 CSS 填充另一个 div 留下的页面的所有高度

javascript - 如何检测Bootstrap模式滚动条的位置?

javascript - jQuery UI 自动完成功能在 Rails 应用程序中不起作用

javascript - 动态添加和编辑行

javascript - 使用 Google-charts api 中的饼图切片将切片点击导航到不同的页面

javascript - 页面滚动 jQuery 导航

javascript - Webpack中如何根据命令行参数启用插件?