简体   繁体   English

带SlideToggle的div浮动

[英]Floated div with SlideToggle

I have a Wordpress Site with multiple floating div`s. 我有一个带有多个浮动div的Wordpress网站。 behind every div is a slideToggle that open some more content. 每个div后面都有一个slideToggle,可以打开更多内容。

My problem is now, that all div`s should stay in position and only the opened should expand. 我的问题是,所有div都应保持在原位,只有打开的div应该扩展。 Now the divs switch position and all others in a row grow bigger. 现在div切换位置,并且所有其他行都变大了。

html HTML

<div>
<div class="span4">

<div class="event_head">
<div><h2>A Title</h2></div>
</div>

<div class="event_body">
<div>Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor. Aenean massa. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Donec quam felis, ultricies nec, pellentesque eu, pretium quis, sem. Nulla consequat massa quis enim.</div>
</div>

</div><!-- ende .span4 -->



<div class="span4">

<div class="event_head">
<div><h2>A Title</h2></div>
</div>

<div class="event_body">
<div>Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor. Aenean massa. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Donec quam felis, ultricies nec, pellentesque eu, pretium quis, sem. Nulla consequat massa quis enim.</div>
</div>

</div><!-- ende .span4 -->



<div class="span4">

<div class="event_head">
<div><h2>A Title</h2></div>
</div>

<div class="event_body">
<div>Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor. Aenean massa. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Donec quam felis, ultricies nec, pellentesque eu, pretium quis, sem. Nulla consequat massa quis enim.</div>
</div>

</div><!-- ende .span4 -->






<div class="span4">

<div class="event_head">
<div><h2>A Title</h2></div>
</div>

<div class="event_body">
<div>Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor. Aenean massa. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Donec quam felis, ultricies nec, pellentesque eu, pretium quis, sem. Nulla consequat massa quis enim.</div>
</div>

</div><!-- ende .span4 -->
</div>

css CSS

.span4 {
    float:left; 
    margin-right: 2%;
    width: 32%;
    margin-bottom: 40px;
}

.span4{width: 32%;}
.span4:nth-child(3n) {margin-right: 0;} 

js JS

$(document).ready(function(){

//hide the all of the element with class msg_body
jQuery(".event_body").hide();

//toggle the componenet with class msg_body
jQuery(".event_head").click(function(){
jQuery(this).next(".event_body").slideToggle();
});


});

Here is a Fiddle of what i have so far. 这是我到目前为止所拥有的东西。

fiddle 小提琴

And here is an image of what i want. 这是我想要的图像。 http://www.rhodesign.ch/slidetoggle.jpg http://www.rhodesign.ch/slidetoggle.jpg

You need to create 3 cols in order to format your content. 您需要创建3个cols才能格式化内容。

<div class="col">
    <!-- your content for this col -->
</div>
<div class="col">
    <!-- your content for this col -->
</div>
<div class="col">
    <!-- your content for this col -->
</div>

I also cleaned your html ; 我还清理了你的html; you were creating way to many useless divs. 您正在创建通往许多无用div的方法。 Check this fiddle . 检查这个小提琴

One solution is to use opacity:0 instead of jQuery(".event_body").hide(); 一种解决方案是使用opacity:0而不是jQuery(".event_body").hide();

css CSS

.event_body{opacity: 0;}

and then in js: 然后在js中:

jQuery(".event_head").click(function(){
    if($(this).next().css("opacity") == "0"){
    jQuery(this).next(".event_body").animate({
        opacity: 1
    }, 2000);
    }
    else{
         jQuery(this).next(".event_body").animate({
        opacity: 0
    }, 1000);
    }
});

fiddle 小提琴

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM