how to reset scroll position in a div using javasc

2019-03-22 04:38发布

问题:

I am working on a mobile hybrid application.

In my html page, I have 3 tabs. When clicking a tab, the content of the scrollable div gets changed. My problem is when I scroll down the content of div (view) and click another tab, the content disappears (but the content is there).

So, please help me so that I could reset the position on clicking any tab.

Please suggest me only with JavaScript or CSS, not with JQuery as I am not using the JQuery library.

回答1:

Without seeing code, i can just guess. If you want to reset the scroll position you can simply use

window.scrollTo(0,0); 

add this code to your each tab click functions so that when ever you click any tab, it resets to top.

If you have any specific div that has overflow property

var myDiv = document.getElementById('specificDiv');
myDiv.scrollTop = 0;


回答2:

It is easy

 <div id="test" style="height:150px; width:600px;overflow-y:auto;background-color:gray;">
     <div style="width:150px;height:500px; background-color:green;"></div>
 </div>
document.getElementById('test').scrollTop =0;


回答3:

Finally this worked for me

function resetScrollPos(selector) {
  var divs = document.querySelectorAll(selector);
  for (var p = 0; p < divs.length; p++) {
    if (Boolean(divs[p].style.transform)) { //for IE(10) and firefox
      divs[p].style.transform = 'translate3d(0px, 0px, 0px)';
    } else { //for chrome and safari
      divs[p].style['-webkit-transform'] = 'translate3d(0px, 0px, 0px)';
    }
  }
}
resetScrollPos('.mblScrollableViewContainer');

Calling this function after transition between view ,will reset my scroll position.