javascript - 下拉按钮列表。鼠标悬停在右侧显示按钮说明
问题描述
我有一个按钮列表和带有下拉菜单的按钮。
当我将鼠标放在每个按钮上时,它会在列表底部显示按钮的简要说明(参见示例)。
现在 它仅适用于一级按钮,但不适用于下拉列表项。
总之,我想:
从列表的右侧显示每个项目的描述 (
onmouseover
),如图所示(不是在底部,就像现在一样)不仅为第一级按钮显示描述 (
onmouseover
),还为下拉列表中的项目显示描述 ( )。
我会非常感谢一个可行的解决方案。
.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('http://link.com', '_blank')" 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('http://link.com', '_blank')" type="button" style="width: 268px; height: 34px;">Button 4</button><button title="Button 4 description" class="a-3" id="menu1"
onclick="window.open('http://link.com', '_blank')" type="button" style="width: 268px; height: 34px;">Button 5 </button>      
<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>
解决方案
我已经将描述元素移到了按钮之后。
然后,我添加了一个类description
来轻松定位所有 description div
s,
另一个,descripted
轻松定位所有带有 description 的按钮......</p>
添加一些 CSS 就可以了:
.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;
}
<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('http://link.com', '_blank')" 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('http://link.com', '_blank')" type="button" style="width: 268px; height: 34px;">Button 4</button><button title="Button 4 description" class="a-3" id="menu1"
onclick="window.open('http://link.com', '_blank')" type="button" style="width: 268px; height: 34px;">Button 5 </button>      
</div>
我只在前两个按钮上完成了它,但你明白了!
如果您想进行一些修改,请随时发表评论。
希望能帮助到你!
推荐阅读
- c++ - 使用冒泡排序在C ++中按升序对列表进行排序
- javascript - 如何使用混合或子类化一个 vuex 存储?
- ruby-on-rails - 充当可投票者 - 在主页上刷新喜欢计数 [Rails - AJAX]
- php - Gmail 以正确的顺序显示收件箱和发送的电子邮件
- c - 为什么AES加密时间比AES解密时间短?
- javascript - 禁用单击停止表单上的按钮提交
- javascript - 在 CKEditor 小部件中按下另一个键时模拟 tab 按键
- tensorflow - 恢复模型后如何避免重叠张量板图?
- wordpress - Woocommerce - 我的帐户问题
- ionic3 - 覆盖 ionic3 ion-icon 的 aria-label