Imr*_*qvi 6 javascript browser scroll html2canvas
我正在使用 html2canvas 库,当我调用 html2canvas.Parse() 时,页面滚动到顶部。
我想如果我能记住调用 html2canvas.Parse() 之前的位置,那么我就可以回到原来的滚动位置。
ham*_*ish 11
我选择了现代 html5 浏览器的方式来处理这个问题。它将最后的滚动位置存储在客户端 Web 浏览器本身中,然后在重新加载页面时将设置从浏览器读取回最后的滚动位置。
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function () {
if (localStorage.getItem("my_app_name_here-quote-scroll") != null) {
$(window).scrollTop(localStorage.getItem("my_app_name_here-quote-scroll"));
}
$(window).on("scroll", function() {
localStorage.setItem("my_app_name_here-quote-scroll", $(window).scrollTop());
});
});
</script>
Run Code Online (Sandbox Code Playgroud)
我在下面的示例中使用 jQuery 来使事情变得简单,但是您可以轻松地在 vanilla js 中完成相同的操作。
var scrollPos;
$('.button').on('click', function() {
// save scroll position to a variable
scrollPos = $(window).scrollTop();
// do something
$('html, body').animate({
scrollTop: $("#cats").offset().top
}, 500);
// scroll back
setTimeout(
function() {
$('html, body').animate({
scrollTop: scrollPos
}, 500);
}, 1000);
});Run Code Online (Sandbox Code Playgroud)
.button {
position: fixed;
font-size: 12px;
margin: 10px;
}
#rainbow {
height: 2000px;
background: -webkit-linear-gradient(red, orange, yellow, green, cyan, blue, violet);
background: -o-linear-gradient(red, orange, yellow, green, cyan, blue, violet);
background: -moz-linear-gradient(red, orange, yellow, green, cyan, blue, violet);
background: linear-gradient(red, orange, yellow, green, cyan, blue, violet);
}
#cats {
width: 100%;
}Run Code Online (Sandbox Code Playgroud)
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.1/jquery.min.js"></script>
<input class="button" value="Scroll down a bit then click here for 1 second of cats!" type="button">
<div id="rainbow"></div>
<img id="cats" title="By Alvesgaspar [CC BY-SA 3.0
(https://creativecommons.org/licenses/by-sa/3.0
)], via Wikimedia Commons" width="1024" alt="Cat poster 1" src="https://upload.wikimedia.org/wikipedia/commons/thumb/0/0b/Cat_poster_1.jpg/1024px-Cat_poster_1.jpg">Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
8294 次 |
| 最近记录: |