gpt4 book ai didi

jquery - 下拉菜单作为选择框

转载 作者:行者123 更新时间:2023-11-28 10:50:55 25 4
gpt4 key购买 nike

我试图设计一个选择的样式,但由于与 IE8 和 Safari 的不兼容问题而放弃了。所以我想使用下拉而不是选择,然后出现了另一个问题。当选择靠近页面底部时,选项显示在选择上方而不是底部,这是默认设置。我想知道的是,是否有人有使用 jQuery 使下拉选项作为选择选项出现在其上方的解决方案

<!DOCTYPE html>
<html lang="en">
<head>
<title>Dropdown Menu</title>
<meta charset="UTF-8">
<style type="text/css">
* {border: 0; margin: 0; padding: 0;}

div {
background-color: #09C;
width: 200px;
line-height: 40px;
bottom: 40px;
left: 300px;
display: block;
position: absolute;
text-indent: 15px;
cursor: pointer;
}

div span {
font-weight: bold;
font-family: sans-serif;
font-size: 16px;
color: #FFF;
}

div:hover ul {display: block;}

div ul {
background-color: #0f0;
width: 200px;
height: 300px;
position: absolute;
display: none;
list-style: none;
}

div ul li {
background-color: #000;
width: 200px;
line-height: 30px;
font-weight: bold;
font-family: sans-serif;
font-size: 16px;
color: #FFF;
}
</style>
</head>
<body>
<div>
<span>Dropdown</span>
<ul>
<li>Link 01</li>
<li>Link 02</li>
<li>Link 03</li>
<li>Link 04</li>
<li>Link 05</li>
<li>Link 06</li>
<li>Link 07</li>
<li>Link 08</li>
<li>Link 09</li>
<li>Link 10</li>
</ul>
</div>
</body>
</html>

最佳答案

HTML

<div id="dropdown"> <span>Dropdown</span>

<ul>
<li>Link 01</li>
<li>Link 02</li>
<li>Link 03</li>
<li>Link 04</li>
<li>Link 05</li>
<li>Link 06</li>
</ul>
</div>

CSS

* {
border: 0;
margin: 0;
padding: 0;
}
div {
background-color: #09C;
line-height: 40px;
bottom: 40px;
width: 200px;
left: 300px;
display: block;
position: absolute;
text-indent: 15px;
cursor: pointer;
}
div span {
font-weight: bold;
font-family: sans-serif;
font-size: 16px;
color: #FFF;
}
div:hover ul {
display: block;
}
div ul {
background-color: #0f0;
width: 200px;
position: absolute;
display: none;
list-style: none;
}
div ul li {
background-color: #000;
width: 200px;
line-height: 30px;
font-weight: bold;
font-family: sans-serif;
font-size: 16px;
color: #FFF;
}

jQuery

$(document).ready(function () {
var ul_h = $('ul').height();
var dd_h = $('#dropdown').height();
var doc_h = $(document).height();
var offsetTop = $('#dropdown').offset().top;
if (doc_h - offsetTop - dd_h < ul_h) {
$('#dropdown ul').css('bottom', '100%');
}
});

这个 jQuery 会计算 div 的当前位置和菜单的高度,如果 div 和页面底部之间的空间小于下拉高度,那么下拉会显示在上面。

这是上面带有下拉列表的演示 (div {bottom: 40px;}) http://jsfiddle.net/wxA2u/

下面是带有下拉列表的演示 (div {top: 40px;}) http://jsfiddle.net/wxA2u/1/

关于jquery - 下拉菜单作为选择框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22793976/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com