gpt4 book ai didi

jquery - Twitter Bootstrap 流体容器侧边栏切换

转载 作者:技术小花猫 更新时间:2023-10-29 12:20:31 26 4
gpt4 key购买 nike

我正在使用 Twitter bootstrap 开发应用程序。 2列布局。一个侧边栏和主要内容。以下是布局。

<div class="container-fluid">
<div class="row-fluid">
<div class="span3 target">
<!--Sidebar content-->
</div>
<div class="span9 ">
<i class="icon-chevron-left toggles"></i>
<!--Body content-->
</div>
</div>
</div>

单击内容中的链接时,我想隐藏侧边栏和占据整个页面的内容。目前我设法做到了这一点,

$(document).ready(function(){
$(window).resize(function () { plot(); });

$('.toggles').click(function() {
$('.target').toggle('fast', function() {
$('.contents').toggleClass('span12'),
$('.contents').toggleClass('span9'),
$('.toggles').toggleClass('icon-chevron-right'),
});
});
});

但是我在隐藏 span3 后在左侧看到了一个边距。这需要删除。同样在这种隐藏方法中,第一次单击 span3 隐藏并且 span9 更改为 span12。这在某种程度上工作正常。但是在第二次点击时,span3 首先显示,然后只有内容 span12 减少到 span9。由于这个内容跳下来,直到它减少到 span9。我想解决这个问题。第二次点击时,span12 首先显示 9,然后侧边栏显示..类似的东西。

我看过很多类似的帖子,其中使用类“content”和“sidebar”而不是“spanXX”。但它在我的情况下不起作用。我不知道为什么。请帮助我..

最佳答案

由于 jQuery 添加的切换效果动画,您的 span9 div 正在跳下,它会同时设置宽度和高度的动画,因此被切换的 div 周围的内容会随着动画去。您可以通过将动画过程加速到 100 毫秒或绝对定位侧边栏来克服这个问题。至于由于 bootstrap.css 本身引起的边距问题,在第 222 行我们有以下内容:

.row-fluid > [class*="span"]:first-child {
margin-left: 0;
}

first-child 伪元素将 margin:0 属性赋予第一个元素,在本例中是正在切换的侧边栏,因此一旦侧边栏被隐藏第二个 span 标签(content div)不继承此属性并保留应用于 span 标签的默认 margin,例如

.row-fluid > [class*="span"] {
float: left;
margin-left: 2.127659574%;
}

您可以使用 jQuery 克服边距问题。

这是我制作的几个演示:


更新了 fiddle,修复了评论者发现我没有注意到的问题,现在它可以正常工作了。添加了一个 .no-sidebar 类,它是在切换时添加的,它删除了 Bootstrap 创建的 margin-left,所以现在它可以很好地与响应式样式表一起工作。

http://jsfiddle.net/andresilich/dQ5b7/23/

关于jquery - Twitter Bootstrap 流体容器侧边栏切换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9210878/

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