响应导航Javascript
我想做一个反应灵敏的导航。我正在使用一些jquery,但我对javascript不太了解。我想切换发生时,窗口是一个特定的宽度(如1050px)这是脚本响应导航Javascript,javascript,jquery,responsive-design,navigation,Javascript,Jquery,Responsive Design,Navigation,我想做一个反应灵敏的导航。我正在使用一些jquery,但我对javascript不太了解。我想切换发生时,窗口是一个特定的宽度(如1050px)这是脚本 function adaptMenu() { /* toggle menu on resize */ $('nav').each(function() { var $width = $(this).css('max-width'); $width = $width.replace('px',
function adaptMenu() {
/* toggle menu on resize */
$('nav').each(function() {
var $width = $(this).css('max-width');
$width = $width.replace('px', '');
if ($(this).parent().width() < $width * 1.05) {
$(this).children('.nav-main-list').hide(0);
$(this).children('.nav-toggled').show(0);
} else {
$(this).children('.nav-main-list').show(0);
$(this).children('.nav-toggled').hide(0);
}
});
}
功能自适应菜单(){
/*在调整大小时切换菜单*/
$('nav')。每个(函数(){
var$width=$(this.css('max-width');
$width=$width.replace('px','');
if($(this).parent().width()<$width*1.05){
$(this).children('.nav主列表').hide(0);
$(this).children('.nav toggled').show(0);
}否则{
$(this).children('.nav main list').show(0);
$(this).children('.nav toggled').hide(0);
}
});
}
您可以通过修复给定的javascript来解决这个问题,但javascript在处理响应性设计方面效率低下。CSS引擎采用C++编写,运行速度快,浏览器大小自动调整。
更好地利用
下面的代码片段与javascript相同,但使用纯CSS
<style>
@media (max-width: 1049px) {
nav .nav-main-list {
display: none; /* hide .nav-main-list when browser windows width < 1050px */
}
nav .nav-toggle {
display: initial; /* show */
}
}
@media (min-width: 1050px) {
nav .nav-main-list {
display: initial; /* show .nav-main-list when browser windows width > 1050px */
}
nav .nav-toggle {
display: none; /* hide */
}
}
</style>
@介质(最大宽度:1049px){
导航主列表{
显示:无;/*浏览器窗口宽度<1050px时隐藏.nav主列表*/
}
导航。导航开关{
显示:初始;/*显示*/
}
}
@介质(最小宽度:1050px){
导航主列表{
显示:初始;/*浏览器窗口宽度>1050px时显示.nav主列表*/
}
导航。导航开关{
显示:无;/*隐藏*/
}
}
编辑:
正如@Roko所评论的,媒体查询在IE8和更早版本中不起作用。如果您需要该浏览器的支持,这可能会有所帮助。您可以在不使用javascript的情况下使用来实现这一点。无关:以$开头命名变量是否会对PHP产生影响?或者jQuery?IE8(仍处于野生状态)不会对您的决定感到满意;)将JS放入