昨日、ページがロード後に自動的に左にスクロールすることを期待して、要件がありました。
私はいつも、ページのdocument.documentelement.scrollleftに値を設定するだけだと思っていましたが、それは有効でしたが、私は失望しました〜
私は今日チェックするのに時間をかけて知りました:
document.documentlement.scrollleftを使用して値を設定します。これは、人間のイベントによってトリガーされた場合にのみ有効でなければなりません。
次の例に示すように、ページがロードされたときに特定の距離を自動的にスクロールしたい場合は、jQueryのアニメートを使用します。
$( "html、body")。animate({"scrollleft": "300px"}、1000);
$( "html、body")。animate({"scrolltop": "300px"}、1000);
デモ:
コードコピーは次のとおりです。
<!doctype html>
<html>
<head>
<Meta charset = "utf-8"/>
<title> auto scroll </title>
<Meta name = "keywords" content = ""/>
<Meta name = "description" content = ""/>
<script type = "text/javascript" src = "https://www.gamebox.com/js/jquery.js"> </script>
</head>
<body>
<! - コンテナの開始 - >
<div style = "height:3000px; width:3000px;">
<a href = "javascript:;">クリック</a>
</div>
<! - コンテナエンド - >
<script type = "text/javascript">
/* window.onload = function(){
window.scroll(0,300);
$( "。btn")。on( "click"、function(){
document.documentelement.scrollleft = "500";
var otop = document.body.scrolltop ||。
var oleft = document.body.scrollleft ||。
アラート(オレフト);
});
}*/
$(function(){
$( "html、body")。animate({"scrollleft": "300px"}、1000);
});
</script>
</body>
</html>