我正在尝试实现本网站http://www.qvivo.com/中使用的效果。jquery 工作正常,我现在的问题是如何在左侧面板/侧边栏展开时自动调整主要内容的大小。请帮助伙计们。先感谢您。
2 回答
来自 QVIVO 的 Liam。我写了一个快速的 jsFiddle ( http://jsfiddle.net/fZy6z/ ) 来模仿网站的框架。
我的主要建议是尽量让浏览器为您完成大部分工作。我们没有使用 JQuery 为 DOM 设置动画,而是简单地使用 CSS 转换添加和删除类标签。最初您不会看到好处,但是当您开始用复杂的 DOM 树填充右侧面板时,您会发现平滑动画的唯一方法是通过硬件加速过渡。
关于自动调整主要内容的问题,这很简单——永远不要为包含的 div 声明宽度值,因为它们无论如何都会自动拉伸到页面的宽度。然后可以为这些 div 中的内容指定 100% 的宽度值。
干杯,利亚姆
I am not the best with Jquery, So I mix it a little bit with JavaScript.
You will need to play with the Width % of what you want and look.
from your CSS, First I put the class pannel_button I put it Absoute. Also I remove the float left
.panel_button{
height: 50px;
width: 50px;
cursor: pointer;
background-image: url(images/arrow.png);
background-position: center center;
background-repeat: no-repeat;
border: thin solid #CCC;
margin-left: -1px;
top: 200px;
position:absolute;
}
Then for your Jquery ands some of my JavaScript, as I am better in JS, I made the animation this way
var content = document.getElementsByClassName("content");
$('.panel_button').click(function()
{
$(".panel").animate({width:'toggle'},500);
if( content[0].style.width=="70%" ){
$(".content").animate({width:"90%"},500);
$(".panel_button").animate({left:"0%"},500);
}
else{ $(".content").animate({width:"70%"},500);
$(".panel_button").animate({left:"29%"},500);
}
});
But Like I said, you will need to play with the Width and positon to make your button where you want it really. And also, remove the float left for your Hover.