javascript - 为什么我的下拉菜单把下面的主要链接都和 sibling 一起移了?

标签 javascript css

我有一个非常简单的 CSS/JS 下拉菜单。问题是,当我单击 select1 时,选择 2 和 3 也会与其余的子链接一起下拉。 http://codepen.io/donnaloia/pen/GqiKl 这正是我在说的。我该如何解决?

HTML

<div class='dropdown'>
  <h1 class='title'>Select1</h1>
  <ol class='drop'>
    <li>Apple</li>
    <li>Orange</li>
    <li>Banana</li>
    <li>Pineapple</li>
    <li>Mango</li>
  </ol>
</div>

<div class='dropdown'>
  <h1 class='title'>Select2</h1>
  <ol class='drop'>
    <li>Apple</li>
    <li>Orange</li>
    <li>Banana</li>
    <li>Pineapple</li>
    <li>Mango</li>
  </ol>
</div>


<div class='dropdown'>
  <h1 class='title'>Select3</h1>
  <ol class='drop'>
    <li>Apple</li>
    <li>Orange</li>
    <li>Banana</li>
    <li>Pineapple</li>
    <li>Mango</li>
  </ol>
</div>

CSS

.dropdown {
  position: relative;
  margin: 50px auto;
  display: table;
  font-family: sans-serif;
  font-size: 11pt;
  color: #FC3;
  line-height: normal;
  text-align: left;
  font-smoothing: antialiased;
}
.dropdown .title {
  cursor: pointer;
  height: 45px;
  padding: 0 20px;
  border-radius: 5px;
  display: block;
  box-shadow: 0 0 0 1px #FC3;
  line-height: 45px;
}
.dropdown .title:after {
  content: '';
  float: right;
  width: 0;
  height: 0;
  margin: 20px 0 0 20px;
  border-width: 5px 4px 0;
  border-style: solid;
  border-color: #FC3 transparent transparent transparent;
}
.dropdown .drop {
  position: relative;
  top: 100%;
  margin-top: 1px;
  border-radius: 0 0 5px 5px;
  display: none;
  overflow: hidden;
  box-shadow: 0 0 0 1px #FC3;
}
.dropdown .drop li {
  cursor: pointer;
  padding: 10px;
}
.dropdown .drop li:hover {
  background: #FC3;
  color: #FFF;
}

.select .title {
  border-radius: 5px 5px 0 0;
}
.select .title:after {
  transform: rotate(180deg);
}

JS

$('.dropdown .title').on('click',function(){
  $(this).parent().toggleClass('select').find('.drop').toggle();
});
$('.dropdown .drop li').on('click',function(){
  var $this = $(this), input = $this.text();
  $('.dropdown .title').text(input);
});

最佳答案

float: left 代替这些 div 会不会很难?这样你就不需要担心内联 block 的行为。

http://codepen.io/anon/pen/mKyfD

关于javascript - 为什么我的下拉菜单把下面的主要链接都和 sibling 一起移了?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26416873/

相关文章:

css - 如何编写自动更改页面布局的 firefox 插件?

Javascript(mouseover mouseleave)html元素不返回

javascript - 上传并播放音频文件JS

javascript - 以三列显示帖子?

javascript - 未调用 Spring Stomp Websockets 回调

html - 如何将这些链接之一变成下拉菜单?

css - 将 div 与文本垂直对齐

javascript - 如何修复 Heroku 中的 window.open() 问题?

javascript - 创建元素时使用 insertBefore 和appendChild 时出错

javascript - 如何使用img src浏览和上传图片