gpt4 book ai didi

jquery - CSS 位置帮助(动画内容结束时显示水平侧边栏)

转载 作者:行者123 更新时间:2023-11-28 18:33:59 25 4
gpt4 key购买 nike

让我尽力解释我想要发生的事情,向您展示我的代码,希望我能得到一些帮助。

因此,我正在尝试从屏幕左侧创建一个滑动导航 UI(就像很多移动应用程序一样)。主要内容滑过,显示下方的导航菜单。

现在浏览器认为屏幕变宽了,引入了一个水平滚动条。但是,我不希望这种情况发生......

如何让 div 在屏幕外设置动画但不扩大屏幕宽度(即保持部分屏幕不显示)?

无论如何,这是我的 fiddle :http://jsfiddle.net/2vP67/6/

这是帖子中的代码:

HTML

<div id='wrapper'>
<div id='navWide'> </div>
<div id='containerWide'> </div>
<div id='containerTall'>
<div id='container'>
<div id='nav'>
<div id='navNavigate'> Open Menu </div>
<div id='navNavigateHide'> Close Menu </div>
</div>
</div>
</div>
<div id='sideContainerTall'>
<div id='sideContainer'>
<div id='sideNav'>Side Navigation </div>
</div>
</div>
</div>

CSS

#wrapper {
width:100%;
min-width:1000px;
height:100%;
min-height:100%;
position:relative;
top:0;
left:0;
z-index:0;
}
#navWide {
color: #ffffff;
background:#222222;
width:100%;
min-width:1000px;
height:45px;
position:fixed;
top:0;
left:0;
z-index:100;
}
#containerWide {
width:100%;
min-width:1000px;
min-height:100%;
position:absolute;
top:45px;
z-index:100;
}
#containerTall {
color: #000000;
background:#dadada;
width:960px;
min-height:100%;
margin-left:-480px;
position:absolute;
top:0;
left:50%;
z-index:1000;
}
/***** main container *****/

#container {
width:960px;
min-height:585px;
}
#nav {
color: #ffffff;
background:#222222;
width:960px;
height:45px;
position:fixed;
top:0;
z-index:10000;
}
#navNavigate {
background:yellow;
font-size:10px;
color:#888888;
width:32px;
height:32px;
padding:7px 6px 6px 6px;
float:left;
cursor:pointer;
}
#navNavigateHide {
background:yellow;
font-size:10px;
color:#888888;
width:32px;
height:32px;
padding:7px 6px 6px 6px;
float:left;
cursor:pointer;
display:none;
}
#sideContainerTall {
background:#888888;
width:264px;
min-height:100%;
margin-left:-480px;
position:absolute;
top:0;
left:50%;
z-index:500;
}
#sideContainer {
width:264px;
min-height:585px;
display:none;
}
#sideContainerTall {
background:#888888;
width:264px;
min-height:100%;
margin-left:-480px;
position:absolute;
top:0;
left:50%;
z-index:500;
}
#sideContainer {
width:264px;
min-height:585px;
display:none;
}
#sideNav {
width:264px;
height:648px;
float:left;
}

Javascript

$(document).ready(function() {

$('div#navNavigate').click(function() {

$('div#navNavigate').hide();

$('div#navNavigateHide').show();

$('div#sideContainer').show();

$('div#containerTall').animate({
'left': '+=264px'
});
});

$('div#navNavigateHide').click(function() {

$('div#navNavigate').show();

$('div#navNavigateHide').hide();
$('div#containerTall').animate({
'left': '-=264px'
}, function() {
$('div#sideContainer').hide();
});
});

});

最佳答案

所以一个真正的快速修复方法是将隐藏的溢出应用到您的 html/正文(您还需要像这样定义高度和宽度):

html, body{
width:100%;
height:100%;
min-height:100%;
overflow:hidden;
}

查看更新的 jsFiddle:http://jsfiddle.net/2vP67/9/

-- 编辑 --

如果您想要从 Facebook 或 Path 等应用程序获得侧面板 View 效果,那么您可以使用更简单的布局/css 来实现它。

请在此处查看有关 jsFiddle 的示例:http://jsfiddle.net/2vP67/11/

此处示例基于 iPhone 的宽度,但您可以检测屏幕尺寸并根据需要显示内容。

关于jquery - CSS 位置帮助(动画内容结束时显示水平侧边栏),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13391535/

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