function scrollToEle(eleNum) { var ele = 'subject-' + eleNum; var prevS = window.pageYOffset|| document.documentElement.scrollTop || document.body.scrollTop; var docHeight = document.body.clientHeight; var curS = 0; document.getElementById(ele).scrollIntoView(); curS = window.pageYOffset|| document.documentElement.scrollTop || document.body.scrollTop; if ((prevS > curS)||(curS-prevS >= docHeight)||(curS-prevS >60)) { window.scrollBy(0, -60); } }
先獲取滾動前滾動條的位置prevS, 再獲取滾動之後的位置,然後進行比較。
參考:
http://blog.csdn.net/fswan/article/details/17238933
http://www.jb51.net/article/43230.htm