效果如下,頁面加載完后向上滾動一段距離
最近一同事詢問用jquery為何無法實現上面效果,查看代碼后發現代碼並沒寫錯,
也正確引入了zepto.js,也不是版本問題(因為是移動端項目,出於性能和需求的考慮沒有引入jquery.js)
后經測試發現要實現上面效果不能引用zepto.js,而要使用jquery.js
那為何會這樣呢?這個問題就涉及到二者的區別
zepto是jquery的精簡版,針對移動端去除了大量jQuery的兼容代碼,部分API使用不同,主要用於移動端,jquery主要用於PC端
詳見:https://www.zhihu.com/question/25379207
Demo
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no" /> <title></title> <style> html,body { margin: 0; padding: 0; } .test1 { color: #fff; font-size: 30px; font-weight: bold; background-color: #000; } .test2 { width: 100%; height: 800px; line-height: 800px; text-align: center; } </style> </head> <body class="test1"> <div class="test2">向上滾動</div> <!--<script src="https://cdn.staticfile.org/zepto/1.0rc1/zepto.min.js"></script>--> <script src="https://cdn.staticfile.org/jquery/1.11.1/jquery.min.js"></script> <script> $(function(){ $("html,body").animate({scrollTop:100}, 1000) }) </script> </body> </html>
補充:上面效果還可以用JS和CSS3 animation動畫實現,以前寫過一篇博文,如下
https://www.cnblogs.com/tu-0718/p/10111477.html