gpt4 book ai didi

jquery - 用下拉列表框导航展开div和背景

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

我有一个位于页面顶部的菜单。 div 的背景为黑色,不透明度为 50%。当您将鼠标悬停在列表上时,它会触发一个下拉子菜单。子菜单由悬停功能运行,它会淡入。我想将 div 的背景扩展到子菜单出现时,以便它与子菜单一起向下滑动,我知道我可以给子菜单一个背景,但我希望 div 的背景扩展,以便它填充页面,达到子菜单占用的数量,但在您离开悬停后返回。

这是我的子菜单悬停功能。我在想可以添加一些东西来改变 div 的样式。

$('.nav li, .subTopMenu li').hover(
// When mouse enters the .navigation element
function () {
//Fade in the navigation submenu
$('ul', this).fadeIn(); // fadeIn will show the sub cat menu
},
// When mouse leaves the .navigation element
function () {
//Fade out the navigation submenu
$('ul', this).fadeOut(); // fadeOut will hide the sub cat menu
}

);

div和list就是这样的html;

<div class="topMenu">
<a href="#"><img src="images/logo-small.png"></a>
<ul class="subTopMenu">
<li class="noHover"><a href="#">Link1</a>
<ul>
<li><a href="#" id="navclick" data-iclick="tAbout">ABOUT US</a></li>
<li><a href="#" id="navclick" data-iclick="tHistory" data-bgsrc="images/history.jpg">HISTORY</a></li>
<li><a href="#">OUR BOARD</a></li>
<li><a href="#">CONTRIBUTE</a></li>
</ul>
</li>
<li class="noHover"><a href="#">Link2</a>
<ul>
<li><a href="#">SHOP</a></li>
<li><a href="#">EAT</a></li>
<li><a href="#">DRINK</a></li>
<li><a href="#">JOIN</a></li>
</ul>
</li>
<li class="noHover"><a href="#">Link3</a>
<ul>
<li><a href="#">MUSIC</a></li>
<li><a href="#">ART</a></li>
<li><a href="#">FESTIVALS</a></li>
<li><a href="#">LECTURES</a></li>
</ul>
</li>
<li class="noHover"><a href="#">Link4</a>
<ul>
<li><a href="#">WHEN & WHERE</a></li>
<li><a href="#">REGISTER</a></li>
<li><a href="#">VOLUNTEER</a></li>
<li><a href="#">SPONSOR</a></li>
<li><a href="#">GALLERY</a></li>
</ul>
</li>
</ul>
</div>

div 是用 css 设计的;

.topMenu
{
display:none;
top:0px;
position:relative;
padding:10px;
background-color:rgba(0,0,0,0.5);
text-align:center;
}
.topMenu li
{
display:inline;
position:relative;
text-align:center;
}

我正在考虑使用 jqueryUi 效果来调整 div 的大小,但它似乎并没有削减它。 div 会根据高度设置动画,但它会在 2 个高度之间来回移动。

    $('.noHover').mouseover(
function () {
//Increase the size of the topMenu div
$('.topMenu').animate({height: '200'},'slow');
});
$('.subTopMenu').mouseout(
function(){
$('.topMenu').animate({height: '90'},'slow');
});
$('.nav li, .subTopMenu li').hover(
// When mouse enters the .navigation element
function () {
//Fade in the navigation submenu
$('ul', this).fadeIn(); // fadeIn will show the sub cat menu
},
// When mouse leaves the .navigation element
function () {
//Fade out the navigation submenu
$('ul', this).fadeOut(); // fadeOut will hide the sub cat menu
}

);

最佳答案

我找到了一个解决方案,但并不完全是我想要的,因为我希望有一个非常轻松或动画的幻灯片,但这确实有效

    $('.noHover').mouseover(
function () {
var navht = $(this).attr('data-navht');
//Increase the size of the topMenu div
$('.topMenu').css('height', navht);
});
$('.subTopMenu').mouseout(
function(){
$('.topMenu').css("height", "90px");
});

我还添加了一个 data-navht 属性,这样我就可以根据子菜单中子项的总数来设置高度,这样 div 就会延伸到底部。

关于jquery - 用下拉列表框导航展开div和背景,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22723593/

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