javascript - Div with scroll over another div with scroll -


i have 2 containers (c1 , c2) long list inside of it, 1 on other, both scroll.

i need able keep c1 scroll position when c2 opens , c2 has open in top of container.

when close c2, need go same position @ c1.

the problem c1 long , remains visible under c2 , not able go c1 c2 , come c1 same scroll position.

i have build simple example:

html:

<div id="container"> <div id="btn1">show on div</div> <div id="btn2">hide on div</div> <div id="div-under">   <ul>     <li>div under</li>     <li>div under</li>     <li>div under</li>   </ul></div> <div id="div-over">   <ul>     <li>div over</li>     <li>div over</li>   </ul> </div> </div> 

script:

$("#btn1").on("click", function () {      $("#div-over").fadein();     $("#btn2").fadein();     $("#btn1").fadeout(); });  $("#btn2").on("click", function () {      $("#div-over").fadeout();     $("#btn1").fadein();     $("#btn2").fadeout(); }); 

css:

#container {     width: 100%;     height: 100%; } #btn1 {     position: fixed;     top: 0;     left: 200px;     z-index: 15;     background-color: yellow; }  #btn2 {     display: none;     position: fixed;     top: 0;     left: 300px;     z-index: 25;     background-color: yellow; }  #div-under {     width: 100%;     height: 100%;     position: absolute;     top: 0;     z-index: 10;     background-color: green; }  #div-over {     display: none;     width: 100%;     height: 100%;     position: absolute;     top: 0;     z-index: 20;     background-color: red; } 

https://jsfiddle.net/jx9dryz7/

can check once adding 1 more css property both of container divs

overflow: auto; 

the css should follows

#div-under { width: 100%; height: 100%; position: absolute; top: 0; z-index: 10; background-color: green; overflow: auto; }  #div-over { display: none; width: 100%; height: 100%; position: absolute; top: 0; z-index: 20; background-color: red; overflow: auto; } 

$("#btn1").on("click", function () {        $("#div-over").fadein();      $("#btn2").fadein();      $("#btn1").fadeout();    $("#div-under").scrolltop(0);  });    $("#btn2").on("click", function () {        $("#div-over").fadeout();      $("#btn1").fadein();      $("#btn2").fadeout();    $("#div-over").scrolltop(0);  });
#container {      width: 100%;      height: 100%;  }  #btn1 {      position: fixed;      top: 0;      left: 200px;      z-index: 15;      background-color: yellow;  }    #btn2 {      display: none;      position: fixed;      top: 0;      left: 300px;      z-index: 25;      background-color: yellow;  }    #div-under {      width: 100%;      height: 100%;      position: absolute;      top: 0;      z-index: 10;      background-color: green;      overflow: auto;  }    #div-over {      display: none;      width: 100%;      height: 100%;      position: absolute;      top: 0;      z-index: 20;      background-color: red;      overflow: auto;  }
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>  <div id="container">  <div id="btn1">show on div</div>  <div id="btn2">hide on div</div>  <div id="div-under">      <ul>          <li>div under</li>          <li>div under</li>          <li>div under</li>          <li>div under</li>          <li>div under</li>          <li>div under</li>          <li>div under</li>          <li>div under</li>          <li>div under</li>          <li>div under</li>          <li>div under</li>          <li>div under</li>          <li>div under</li>          <li>div under</li>          <li>div under</li>          <li>div under</li>          <li>div under</li>          <li>div under</li>          <li>div under</li>          <li>div under</li>          <li>div under</li>          <li>div under</li>          <li>div under</li>          <li>div under</li>          <li>div under</li>          <li>div under</li>          <li>div under</li>          <li>div under</li>          <li>div under</li>          <li>div under</li>          <li>div under</li>          <li>div under</li>          <li>div under</li>          <li>div under</li>          <li>div under</li>          <li>div under</li>          <li>div under</li>          <li>div under</li>          <li>div under</li>          <li>div under</li>          <li>div under</li>          <li>div under</li>          <li>div under</li>          <li>div under</li>          <li>div under</li>          <li>div under</li>          <li>div under</li>      </ul></div>  <div id="div-over">          <ul>          <li>div over</li>          <li>div over</li>          <li>div over</li>          <li>div over</li>          <li>div over</li>          <li>div over</li>          <li>div over</li>          <li>div over</li>          <li>div over</li>          <li>div over</li>          <li>div over</li>          <li>div over</li>          <li>div over</li>          <li>div over</li>          <li>div over</li>          <li>div over</li>          <li>div over</li>          <li>div over</li>          <li>div over</li>          <li>div over</li>      </ul>  </div>  </div>


Comments

Popular posts from this blog

1111. appearing after print sequence - php -

java - WARN : org.springframework.web.servlet.PageNotFound - No mapping found for HTTP request with URI [/board/] in DispatcherServlet with name 'appServlet' -

Ruby on Rails, ActiveRecord, Postgres, UTF-8 and ASCII-8BIT encodings -