Javascript 如何创建响应性导航栏?
我很难使我的网站响应,我已经做了所有的网页,只需要结束我的导航 可在www.christierichards.co.uk/gcc_网站/index.php上查看 基本上,当窗口调整到635px时,nav ul消失,出现菜单图标,此时在CSS中,nav ul已设置为显示:无。我在这里需要做的是,当你点击菜单图标时,导航被设置为显示块,并沿整个页面向下滑动,以显示导航(我希望这是有意义的!)这项技术现在在许多响应性网站上使用,但我一辈子都不知道如何做到这一点 我希望有人能帮助我!谢谢试试这个>>>Javascript 如何创建响应性导航栏?,javascript,jquery,html,css,responsive-design,Javascript,Jquery,Html,Css,Responsive Design,我很难使我的网站响应,我已经做了所有的网页,只需要结束我的导航 可在www.christierichards.co.uk/gcc_网站/index.php上查看 基本上,当窗口调整到635px时,nav ul消失,出现菜单图标,此时在CSS中,nav ul已设置为显示:无。我在这里需要做的是,当你点击菜单图标时,导航被设置为显示块,并沿整个页面向下滑动,以显示导航(我希望这是有意义的!)这项技术现在在许多响应性网站上使用,但我一辈子都不知道如何做到这一点 我希望有人能帮助我!谢谢试试这个>>>
CSS:
ul > li {
width: 24.5%; /*important*/
height: 50px;
background-color:#000;
color:orange;
float: left;
margin-left: 0.5%; /*important*/
list-style-type: none;
}
ul{margin:0px;padding:0px;} /*important*/
HTML:
<ul>
<li>NAV1</li>
<li>NAV2</li>
<li>NAV3</li>
<li>NAV4</li>
</ul>
CSS:
ul>li{
宽度:24.5%;/*重要*/
高度:50px;
背景色:#000;
颜色:橙色;
浮动:左;
左边距:0.5%;/*重要*/
列表样式类型:无;
}
ul{margin:0px;padding:0px;}/*重要*/
HTML:
- 导航1
- 导航2
- 导航3
- 导航4
这将根据浏览器大小调整大小。请回复。文本可以垂直居中对齐,也可以水平居中对齐。请对此进行回复。您需要做两件事- 1.在菜单按钮上挂起一个事件以打开/关闭导航(我看到您正在使用jQuery,因此您可以设置
$("#pull").on("click", function(){
$("#nav-bg").toggleClass("vertical")});
2.将CSS定义设置为与要添加的类匹配-类似于:
div#nav-bg.vertical {
height: auto;
background: blue;
}
.vertical ul {
display: block;
}
.vertical nav li {
display: block;
float: none;
}
.vertical nav li a {
display: block;
}
.vertical nav {
background: blue;
}
使用jQuery slideUp/slideDown方法为#pull和切换#nav bg ul上的显示添加onClick事件。您需要像现在一样将显示设置为none来加载它,但使用一个类,我们将其命名为“.hide”,然后使用jQuery click函数切换到显示设置为block的“.show”类 CSS看起来像这样:
.show {display:block;}
.hide {display:none;}
$("#pull").click(function(){
$("#nav-menu").toggleClass('show');
});
jQuery:
.show {display:block;}
.hide {display:none;}
$("#pull").click(function(){
$("#nav-menu").toggleClass('show');
});
这是一把小提琴:
.show {display:block;}
.hide {display:none;}
$("#pull").click(function(){
$("#nav-menu").toggleClass('show');
});
您使用的变量未在页面加载中定义。在窗口大小大于635的页面加载期间,您的
#pull
不可见,因此变量var pull=$(“#pull”)
没有定义,窗口宽度的改变不会给你带来任何改变,除了你为酒吧准备的其他样式
因此,我建议您尝试更改脚本,使其侦听窗口宽度,并仅在窗口宽度小于或等于636px时执行此函数
var winWidth = $(window).width();
$(window).rezise(function(){
if(winWidth <= 635){
addPull();
}
});
function addPull(){
menu = $('nav ul');
menuHeight = menu.height();
$(document).on('click','#pull' function(e) {
e.preventDefault();
menu.slideToggle();
});
}
$(document).ready(function(){
if(winWidth <= 635){
addPull();
}
});
var winWidth=$(窗口).width();
$(窗口).rezise(函数(){
if(winWidth)欢迎使用StackOverflow。您会发现显示编码细节的答案(通常至少几行)会得到更好的响应。