当柳上原的风吹向天际的时候...

真正的快乐来源于创造

  BlogJava :: 首页 :: 联系 :: 聚合  :: 管理
  368 Posts :: 1 Stories :: 201 Comments :: 0 Trackbacks
在Web项目中两栏固定宽度居中的方式较多,三栏比较少见,一栏在某些场合还是有用的,比如说有整版的表格列表。因此我们的程序有必要能在两种方式中切换。

以前我们使用的切换方式是两个页面模版,这种方式稍嫌麻烦一些,因为多了一个文件需要维护。现在使用JS也能达到同样的效果。让我们先看看siderbar和concept两个div的css定义:
#sidebar{
    margin-left
:auto;
    margin-right
:auto;    
    width
:191px;
    height
:480px;
    float
:left;
    background-color
:#fafafa ;
    border-top
:1px #e4e4e4 solid;
    border-bottom
:1px #e4e4e4 solid;
    border-left
:1px #e4e4e4 solid;    
    padding
:2px;
}
#concept
{
    margin-left
:auto;
    margin-right
:auto;
    padding
:10px;
    width
:759px;
    height
:480px;
    float
:left;
    border
:1px #e4e4e4 solid;
}
这两者之所以能并列的原因是一是向左浮动,二是二者的宽度加起来正好等于页面的总宽度950.如果我们需要变换成一栏方式,把siderbar隐藏,使concept的宽度变成950,这样不就可以了吗?这使用JavaScript很容易办到,代码如下:
    var sidebar=$("sidebar");
    sidebar.style.display
="none";
    
var concept=$("concept");
    concept.style.width
=950;

再把它包装成一个函数,在需要单栏的页面中的窗口加载事件中调用这个函数,就能把两栏变成一栏:
//--  Common.js中
function makeConceptFullScreen(){
    
var sidebar=$("sidebar");
    sidebar.style.display
="none";
    
var concept=$("concept");
    concept.style.width
=950;
}

..

//--  userMenuIntroBody.jsp中
window.onload=function(){
    
    
    
// 隐藏边栏,加宽内容栏,使得内容如同全屏一样
    makeConceptFullScreen();
}

--全文完--

posted on 2009-09-10 10:30 何杨 阅读(195) 评论(0)  编辑  收藏