2013-06-19 99 views
0

HTML页面jQuery的切换内容的位置

<div class="outbox"> 
<p class="heading">Header-1 </p> 
<div class="content">Lorem ipsum dolor sit amet</div> 
<p class="heading">Header-2</p> 
<div class="content">Lorem ipsum dolor sit amet</div> 
<p class="heading">Header-3</p> 
<div class="content">Lorem ipsum dolor sit amet</div> 
</div> 

CSS

.outbox 
{ 
    margin: 0; 
    padding: 0; 
} 

.heading 
{ 
    background-color: #FF6666; 
    border: 1px solid #FF5050; 
    text-align: center; 
    font-weight: bold; 
    margin: 1px; 
    padding: 3px 10px; 
    cursor: pointer; 
    float: right; 
    width: 300px; 
    height:25px; 
} 



.content 
{ 
    background-color: #FFCCCC; 
} 

jQuery的

<script type="text/javascript"> 
$(document).ready(function() { 
    $(".content").hide(); 
    $(".heading").click(function() 
    { 
    $(this).next(".content").slideToggle(500); 
    }); 
}); 
</script> 

当我点击内容的任何标题,扩展部分总是出现在页面的顶部。我如何在标题下方显示它?先谢谢你。

回答

1

试试这个:

HTML

<div class="outbox"> 
    <div class="container"> 
     <p class="heading">Header-1 </p> 
     <div class="content">Lorem ipsum dolor sit amet</div> 
    </div> 
    <div class="container"> 
     <p class="heading">Header-2</p> 
     <div class="content">Lorem ipsum dolor sit amet</div> 
    </div> 
    <div class="container"> 
     <p class="heading">Header-3</p> 
     <div class="content">Lorem ipsum dolor sit amet</div> 
    </div> 
</div> 

CSS

.outbox 
{ 
    margin: 0; 
    padding: 0; 
} 

.heading 
{ 
    background-color: #FF6666; 
    border: 1px solid #FF5050; 
    text-align: center; 
    font-weight: bold; 
    margin: 1px; 
    padding: 3px 10px; 
    cursor: pointer; 
    width: 300px; 
    height:25px; 
} 
.container{ 
    float:right; 
} 


.content 
{ 
    background-color: #FFCCCC; 
} 

小提琴http://jsfiddle.net/LMWpZ/

+0

+1 N冰的方法。 – Praveen

+0

谢谢,它的作品。唯一的问题是存在多行时内容不匹配。我固定内容部分的设置宽度如下。 。content { background-color:#FFCCCC; width:300px; } – Yass

1

从标题中删除float: right;风格。除非故意存在,但在这种情况下,你的问题听起来很奇怪。

1

您的标题元素是浮动的,但它们的相邻div不是。

只需删除或调整heading类的float: right;属性即可。

这里有一个小提琴:

http://jsfiddle.net/GpJKe/

0

浮动权的.content类,并添加clear:both.heading.content并尝试下面的方法:

.heading { 
    clear: both; 
    background-color: #FF6666; 
    border: 1px solid #FF5050; 
    text-align: center; 
    font-weight: bold; 
    margin: 1px; 
    padding: 3px 10px; 
    cursor: pointer; 
    float: right; 
    width: 300px; 
    height:25px; 
} 
.content { 
    clear: both; 
    float: right; 
    background-color: #FFCCCC; 
} 

What is the use of style=“clear:both”?

退房的JSFiddle