gpt4 book ai didi

javascript - CSS 样式不适用于第二个下拉菜单

转载 作者:行者123 更新时间:2023-11-30 16:24:18 25 4
gpt4 key购买 nike

我在导航栏中创建了 2 个相同的下拉菜单。当指向主菜单时,子菜单将自动显示。向下滚动时,子菜单的背景将自动更改为白色。但它只影响第一个子菜单,第二个主菜单的子菜单没有。我正在调用同一个类,但为什么 css 不适用于第二个子菜单?下面是我的示例代码。

/**
* cbpAnimatedHeader.js v1.0.0
* http://www.codrops.com
*
* Licensed under the MIT license.
* http://www.opensource.org/licenses/mit-license.php
*
* Copyright 2013, Codrops
* http://www.codrops.com
*/
var cbpAnimatedHeader = (function () {

var docElem = document.documentElement,
header = document.querySelector('.navbar-default'),
subheader = document.querySelector('.dropdown-menu'),
didScroll = false,
changeHeaderOn = 150;

function init() {
window.addEventListener('scroll', function (event) {
if (!didScroll) {
didScroll = true;
setTimeout(scrollPage, 250);
}
}, false);
}

function scrollPage() {
var sy = scrollY();
if (sy >= changeHeaderOn) {
classie.add(header, 'navbar-shrink');
classie.add(subheader, 'navbar-shrink');
} else {
classie.remove(header, 'navbar-shrink');
classie.remove(subheader, 'navbar-shrink');
}
didScroll = false;
}

function scrollY() {
return window.pageYOffset || docElem.scrollTop;
}

init();

})();
<link href="https://dl.dropboxusercontent.com/u/50282572/bootstrap.min.css" rel="stylesheet"/>
<link href="https://dl.dropboxusercontent.com/u/50282572/style.css" rel="stylesheet"/>
<body id="index" class="index-page" style="height:1000px;">
<nav class="navbar navbar-default navbar-fixed-top">
<div class="container" style="" id="">
<div class="collapse navbar-collapse" style="" id="bs-example-navbar-collapse-1">
<ul class="nav nav-justified">
<li class="hidden" id="">
<a href="#page-top" class="" target="" data-value=""></a>
</li>

<li class="dropdown" id="listory">
<a href="#" class="dropdown-toggle" data-toggle="dropdown">
Menu 1
<i class="fa fa-angle-down"></i>
</a>
<ul class="dropdown-menu">
<li class=""><a href="index.php?page=story1" class="page-scroll" target="" data-value="">White Color When scroll</a></li>
</ul>
</li>
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown">
Menu 2
<i class="fa fa-angle-down"></i>
</a>
<ul class="dropdown-menu">
<li class="" id=""><a href="logout.php" class="page-scroll" target="" data-value="">White Color When scroll</a></li>
</ul>
</li>
</ul>
</div>
</div>
</nav>
<div style="height:500px;background:blue;"></div>
<script src="http://demo.sc.chinaz.com/Files/DownLoad/moban/201511/moban810/js/jquery-2.1.1.js"></script>
<script src="http://demo.sc.chinaz.com/Files/DownLoad/moban/201511/moban810/js/bootstrap.min.js"></script>
<script src="http://demo.sc.chinaz.com/Files/DownLoad/moban/201511/moban810/js/classie.js"></script>
</body>

查看整个页面以查看导航菜单

截图: enter image description here enter image description here

最佳答案

javascript 没有将类 navbar-shrink 添加到第二个 .dropdown-menu 绝对是原因。

如果您可以访问和更改您在问题中引用的脚本,请尝试更改此行

subheader = document.querySelector('.dropdown-menu'),

为此:

subheader = document.getElementsByClassName('dropdown-menu'),

关于javascript - CSS 样式不适用于第二个下拉菜单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34338220/

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