2012-02-15 90 views
0

我真的在努力工作,但没有得出结论。这是什么样的我的HTML和CSS现在看:垂直整页宽度和高度手风琴类型菜单

<!DOCTYPE html> 
<html> 
<head> 
<meta charset="utf-8" /> 
<title></title> 
<link type="text/css" rel="stylesheet" href="style2.css"/> 
</head> 
<body> 
    <div id="wrapper"> 
     <div id="static"><a href="#"><img src="unai.jpg"/></a></div> 
     <div class="menu"><div class="content"></div> <a href="#"><img src="unai.jpg"/></a></div> 
     <div class="menu"><div class="content"></div> <a href="#"><img src="unai.jpg"/></a></div> 
     <div class="menu"><div class="content"></div> <a href="#"><img src="unai.jpg"/></a></div> 
     <div class="menu"><div class="content"></div> <a href="#"><img src="unai.jpg"/></a></div> 
    </div> 
</body> 
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script> 
<script type="text/javascript" src="javascript2.js"></script> 
</html> 

CSS:

*{ 
    margin: 0; 
    padding: 0; 
    } 

html, body, #wrapper, #wrapper div{ 
    height:100%; 
    } 

#wrapper{ 
    width: 100%; 
    } 
    #wrapper #static{ 
     float: left; 
     } 

    #wrapper > div{ 
     position: relative; 
     width: 20%; 
     background-color: #9F81F7;  
     float: right; 
     z-index: 9999; 
     } 
     #wrapper div.content{ 
      position: relative; 
      left: 0; 
      top: 0; 
      width: 100%; 
      opacity: 0.01; 
      background-color: #FF0000; 
      z-index: -1; 
      } 
     #wrapper div:last-child:after{ 
      content: " "; 
      clear: both; 
     } 

    #wrapper a{ 
     width: 137px; 
     position:absolute; 
     top:50%; 
     left: 68px; 
     margin-top: -106px; 
    } 

,我需要做到的是:

ACCORDION

我已经坐了这一天,但还没有。已经尝试了一些JQuery代码,但似乎没有做我所需要的。
我需要的是实现这种手风琴效果。休息可以做我自己。 任何帮助表示赞赏。

+0

你说你已经尝试了一些jQuery - 这将有助于看到这一点。只是要求整个片段,这真的是过于乐观。 – Purag 2012-02-15 03:18:03

回答

1

这个概念很简单。您想要捕获图像上的单击事件,重置所压缩图像的父容器的所有同级的宽度,然后继续展开其宽度。

东西这样简单的工作原理:

$(document).on("click", "#wrapper div.content a", function(){ 
    var $this = $(this); 
    $this 
     .closest("div.content") 
     .css("width","300px") 
     .siblings() 
     .css("width","50px"); 
}); 

on()加入jQuery的为1.7版本。如果您使用的是早期版本,请使用live()bind()。请记住,该功能的语法已更改,因此请注意。

您可以代替document获得的父母越亲密,事件授权就越好。

300px50px就是这种情况下的例子。你可以使用任何你想要的宽度。

而在整页宽度方面,Apple.com做了一个非常鬼鬼祟祟的事情,用他们的导航来遵守他们不断扩大的搜索栏。他们已经在每个导航元素上应用display:table-cell,这样当一个扩展时,另一个扩展。实际上,它非常巧妙,你可以将它应用于你的情况。