当使用jQuery和CSS显示隐藏的div时下推div?

时间:2018-09-19 17:23:09

标签: javascript jquery html html5 css3

我有5个按钮,每个按钮都包含一些不同的数据,我希望当您单击一个按钮时,它应该显示其隐藏数据,并按下其下面的div:

$(".Datanewpost").click(function() {
  $(this).find(".data").toggle();
});
.data {
  display: none;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="data-main">

  <div class="Datanewpost">
    Data 1
    <div class="data"> Lorem ipsum to roboczy tekst używany do celów projektowych, zwykle do prezentacji kroju pisma, kompozycji, układu kolumn, wyglądu składu, typografii itd./div>
    </div>
    <div class="Datanewpost">
      Data 2
      <div class="data"> Lorem ipsum to roboczy tekst używany do celów projektowych, zwykle do prezentacji kroju pisma, kompozycji, układu kolumn, wyglądu składu, typografii itd.</div>
    </div>
    <div class="Datanewpost">
      Data 3
      <div class="data"> Lorem ipsum to roboczy tekst używany do celów projektowych, zwykle do prezentacji kroju pisma, kompozycji, układu kolumn, wyglądu składu, typografii itd./div>
      </div>
      <div class="Datanewpost">
        Data 4
        <div class="data"> Lorem ipsum to roboczy tekst używany do celów projektowych, zwykle do prezentacji kroju pisma, kompozycji, układu kolumn, wyglądu składu, typografii itd.</div>
      </div>
      <div class="Datanewpost">
        Data 5
        <div class="data"> Lorem ipsum to roboczy tekst używany do celów projektowych, zwykle do prezentacji kroju pisma, kompozycji, układu kolumn, wyglądu składu, typografii itd.</div>
      </div>
    </div>

现在,它只是在不按下元素的情况下切换元素,我需要更改以获得我想要的东西吗?

3 个答案:

答案 0 :(得分:1)

关闭div时,您缺少一些'provinces'

<
$(".Datanewpost").click(function() {
  $(this).find(".data").toggle();
});
.data {
  display: none;
}

答案 1 :(得分:0)

调整标记后,我们将使用slideToggle方法来完成您的任务:

   
 

$(".Datanewpost").click(function() {
  $(this).find(".data").slideToggle();
});
.data {
  display: none;
}
<div class="data-main">
  <div class="Datanewpost">
    Data 1
    <div class="data"> Lorem ipsum to roboczy tekst używany do celów projektowych, zwykle do prezentacji kroju pisma, kompozycji, układu kolumn, wyglądu składu, typografii itd.
    </div>
  </div>
  <div class="Datanewpost">
    Data 2
    <div class="data"> Lorem ipsum to roboczy tekst używany do celów projektowych, zwykle do prezentacji kroju pisma, kompozycji, układu kolumn, wyglądu składu, typografii itd.</div>
  </div>
  <div class="Datanewpost">
    Data 3
    <div class="data"> Lorem ipsum to roboczy tekst używany do celów projektowych, zwykle do prezentacji kroju pisma, kompozycji, układu kolumn, wyglądu składu, typografii itd.
    </div>
  </div>
  <div class="Datanewpost">
    Data 4
    <div class="data"> Lorem ipsum to roboczy tekst używany do celów projektowych, zwykle do prezentacji kroju pisma, kompozycji, układu kolumn, wyglądu składu, typografii itd.</div>
  </div>
  <div class="Datanewpost">
    Data 5
    <div class="data"> Lorem ipsum to roboczy tekst używany do celów projektowych, zwykle do prezentacji kroju pisma, kompozycji, układu kolumn, wyglądu składu, typografii itd.</div>
  </div>
</div>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

  

Learn more关于slideToggle方法。

希望我进一步推动了你。

答案 2 :(得分:0)

我做了一些修改,只是看看

window.onload=function()
{
var btn=document.getElementsByClassName('Datanewpost');
for(var i=0;i<btn.length;i++)
{
 btn[i].onclick=function()
 {
   var data=document.getElementsByClassName('data');
   for(var i=0;i<data.length;i++)
   data[i].style.maxHeight="0px";
   this.nextElementSibling.style.maxHeight="1000px";
   this.nextElementSibling.style.transition="0.4s ease";
   }
 
 }
}
.data {
  max-height:0px;
  overflow:hidden;
  
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="data-main">

  <div class="Datanewpost">
    Data 1
   </div>
    <div class="data"> Lorem ipsum to roboczy tekst używany do celów projektowych, zwykle do prezentacji kroju pisma, kompozycji, układu kolumn, wyglądu składu, typografii itd.</div>
    
    <div class="Datanewpost">
      Data 2
    </div>  
      <div class="data"> Lorem ipsum to roboczy tekst używany do celów projektowych, zwykle do prezentacji kroju pisma, kompozycji, układu kolumn, wyglądu składu, typografii itd.</div>
   
    <div class="Datanewpost">
      Data 3
     </div>
      <div class="data"> Lorem ipsum to roboczy tekst używany do celów projektowych, zwykle do prezentacji kroju pisma, kompozycji, układu kolumn, wyglądu składu, typografii itd.</div>
     
      <div class="Datanewpost">
        Data 4
      </div>
        <div class="data"> Lorem ipsum to roboczy tekst używany do celów projektowych, zwykle do prezentacji kroju pisma, kompozycji, układu kolumn, wyglądu składu, typografii itd.</div>
      
      <div class="Datanewpost">
        Data 5
      </div>
        <div class="data"> Lorem ipsum to roboczy tekst używany do celów projektowych, zwykle do prezentacji kroju pisma, kompozycji, układu kolumn, wyglądu składu, typografii itd.</div>
     
    </div>