Javascript:下拉按钮列表。 Onmousover在右侧显示按钮说明

时间:2018-05-22 11:41:09

标签: javascript html css javascript-events mouseevent

我有一个带有下拉菜单的按钮和按钮列表 当我将鼠标放在每个按钮上时,它会在列表底部显示按钮的简要说明(参见示例)。

现在它仅适用于第一级按钮,但不适用于下拉列表项。

总结,我想:

  1. 从列表中显示RIGHT上每个项目的描述(onmouseover),如图所示(不在底部,就像现在一样)

  2. 显示说明(onmouseover)不仅适用于第一级按钮,还适用于下拉列表中的项目。

  3. 我非常感谢一个有效的解决方案。

    Please click to see the image for layout

    .element-1,
    .element-2,
    .element-3 {
      display: none;
    }
    
    .a-1:hover~.element-1 {
      display: block;
    }
    
    .a-2:hover~.element-2 {
      display: block;
    }
    
    .a-3:hover~.element-3 {
      display: block;
    }
    <link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet" />
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
    <p>
      <font color="#909497">Drop-down Buttons list</font>
    </p>
    <div class="container" style="width: 350px; height: 22px;">
      <button title="Description 1" class="a-1" id="menu1" onclick="window.open(&#39;http://link.com&#39;, &#39;_blank&#39;)" type="button" style="width: 268px; height: 68px;">Button 1</button>
      <div align="left" class="dropdown" style="width: 333px; height: 34px;">
        <button class="btn btn-default dropdown-toggle" id="menu1" aria-expanded="false" type="button" data-toggle="dropdown" style="width: 268px; height: 34px;">Drop-Down Button 1 
             <span class="caret"></span></button>
        <ul title="Drop-down item 1 description" class="dropdown-menu" role="menu" aria-labelledby="menu1">
          <li class="a-2" role="presentation">
            <a tabindex="-1" class="a-2" href="https://link2.com/" target="_blank">Drop-down item 1</a></li>
          <li title="Drop-down item 2 description" role="presentation">
            <a tabindex="-1" role="menuitem" href="https://link3.com" target="_blank">Drop-down item 2</a></li>
        </ul>
      </div>
      <div class="dropdown">
        <button class="btn btn-default dropdown-toggle" id="menu1" type="button" data-toggle="dropdown" style="width: 268px; height: 34px;">Drop-Down Button 3 
             <span class="caret"></span></button>
        <ul class="dropdown-menu" role="menu" aria-labelledby="menu1">
          <li title="drop-down item 3 description" class="a-2" role="presentation">
            <a tabindex="-1" role="menuitem" href="http://link6.com" target="_blank">Drop-down item 3 </a></li>
          <li title="drop-down item 4 description" role="presentation">
            <a tabindex="-1" role="menuitem" href="#">Drop-down item 4 </a></li>
          <li title="drop-down item 5 description" role="presentation">
            <a tabindex="-1" role="menuitem" href="#">Drop-down item 5 </a></li>
          <li title="drop-down item 6 description" role="presentation">
            <a tabindex="-1" role="menuitem" href="http://link.com" target="_blank">Drop-down item 6</a></li>
          <li title="Drop-down item 7 description" role="presentation">
            <a tabindex="-1" role="menuitem" href="#">Drop-down item 7</a></li>
        </ul>
      </div>
      <button title="Button 4 description" class="a-2" id="menu1" onclick="window.open(&#39;http://link.com&#39;, &#39;_blank&#39;)" type="button" style="width: 268px; height: 34px;">Button 4</button><button title="Button 4 description" class="a-3" id="menu1"
        onclick="window.open(&#39;http://link.com&#39;, &#39;_blank&#39;)" type="button" style="width: 268px; height: 34px;">Button 5 </button>&#160;&#160;&#160;&#160;&#160;&#160;
      <div class="element-1" style="width: 350px;">
        <img width="45" height="45" src="https://d2gg9evh47fn9z.cloudfront.net/800px_COLOURBOX2310920.jpg" data-themekey="#" alt="" />
        <br/>Button 1 description</div>
      <div class="element-2" style="width: 350px;">Button 4 description</div>
      <div class="element-3" style="width: 350px;">Button 5 description</div>
    </div>

1 个答案:

答案 0 :(得分:2)

我已经在他们的按钮之后移动了描述元素 然后,我添加了课程description,以便轻松定位所有说明div s,
另一个,descripted,轻松定位所有带描述的按钮......

添加一些CSS,然后你就去了:

&#13;
&#13;
.container {
  /* Added for visibility */
  background: #eee;
}

.description {
  display: none;
  /* The absolute positioning refers to the container. */
  position: absolute;
  transform: translate(100%, -100%);
}

.descripted:hover+.description {
  display: block;
}
&#13;
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet" />
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
<p>
  <font color="#909497">Drop-down Buttons list</font>
</p>
<div class="container" style="width: 350px; height: 22px;">
  <button title="Description 1" class="a-1 descripted" id="menu1" onclick="window.open(&#39;http://link.com&#39;, &#39;_blank&#39;)" type="button" style="width: 268px; height: 68px;">Button 1</button>
  <div class="description" style="width: 350px;">
    <img width="45" height="45" src="https://d2gg9evh47fn9z.cloudfront.net/800px_COLOURBOX2310920.jpg" data-themekey="#" alt="" />
    <br/>Button 1 description
  </div>
  <div align="left" class="dropdown" style="width: 333px; height: 34px;">
    <button class="btn btn-default dropdown-toggle descripted" id="menu1" aria-expanded="false" type="button" data-toggle="dropdown" style="width: 268px; height: 34px;">Drop-Down Button 1<span class="caret"></span></button>
    <div class="description" style="width: 350px;">
      <img width="45" height="45" src="https://d2gg9evh47fn9z.cloudfront.net/800px_COLOURBOX2310920.jpg" data-themekey="#" alt="" />
      <br/>Drop-Down 1 description
    </div>

    <ul title="Drop-down item 1" class="dropdown-menu" role="menu" aria-labelledby="menu1">
      <li class="a-2 descripted" role="presentation">
        <a tabindex="-1" class="a-2" href="https://link2.com/" target="_blank">Drop-down item 1</a>
      </li>
      <div class="description" style="width: 350px;">
        <img width="45" height="45" src="https://d2gg9evh47fn9z.cloudfront.net/800px_COLOURBOX2310920.jpg" data-themekey="#" alt="" />
        <br/>Drop-Down item 1 description
      </div>
      <li class="descripted" title="Drop-down item 2" role="presentation">
        <a tabindex="-1" role="menuitem" href="https://link3.com" target="_blank">Drop-down item 2</a>
      </li>
      <div class="description" style="width: 350px;">
        <img width="45" height="45" src="https://d2gg9evh47fn9z.cloudfront.net/800px_COLOURBOX2310920.jpg" data-themekey="#" alt="" />
        <br/>Drop-Down item 2 description
      </div>
    </ul>
  </div>
  <div class="dropdown">
    <button class="btn btn-default dropdown-toggle" id="menu1" type="button" data-toggle="dropdown" style="width: 268px; height: 34px;">Drop-Down Button 3<span class="caret"></span>
    </button>
    <ul class="dropdown-menu" role="menu" aria-labelledby="menu1">
      <li title="drop-down item 3 description" class="a-2" role="presentation">
        <a tabindex="-1" role="menuitem" href="http://link6.com" target="_blank">Drop-down item 3 </a>
      </li>
      <li title="drop-down item 4 description" role="presentation">
        <a tabindex="-1" role="menuitem" href="#">Drop-down item 4 </a>
      </li>
      <li title="drop-down item 5 description" role="presentation">
        <a tabindex="-1" role="menuitem" href="#">Drop-down item 5 </a>
      </li>
      <li title="drop-down item 6 description" role="presentation">
        <a tabindex="-1" role="menuitem" href="http://link.com" target="_blank">Drop-down item 6</a>
      </li>
      <li title="Drop-down item 7 description" role="presentation">
        <a tabindex="-1" role="menuitem" href="#">Drop-down item 7</a>
      </li>
    </ul>
  </div>
  <button title="Button 4 description" class="a-2" id="menu1" onclick="window.open(&#39;http://link.com&#39;, &#39;_blank&#39;)" type="button" style="width: 268px; height: 34px;">Button 4</button><button title="Button 4 description" class="a-3" id="menu1"
    onclick="window.open(&#39;http://link.com&#39;, &#39;_blank&#39;)" type="button" style="width: 268px; height: 34px;">Button 5 </button>&#160;&#160;&#160;&#160;&#160;&#160;
</div>
&#13;
&#13;
&#13;

我只在2个第一个按钮上完成了它,但你明白了! 如果您想要进行一些修改,请随意发表评论。

希望它有所帮助!