2014-12-05 72 views
0

頁面頂部當我設置的HTML標籤的樣式,像這樣在AngularJS:在HTML標記隱藏溢出,使瀏覽器跳轉到

angular.element($document[0].documentElement).css('overflow', 'hidden'); 

頁面跳轉到頁面頂部。我怎樣才能防止這一點?

我想顯示一個完整的頁面覆蓋,當我嘗試滾動時,背景滾動。當我在html標籤上設置overflow:css樣式時,它不會滾動。這導致我遇到了這個問題。

+0

什麼是隱藏的總體目標文件溢出?爲什麼它首先發生? – 2014-12-05 19:52:53

+0

@JoshBurgess我想顯示一個完整的頁面覆蓋圖,當我嘗試滾動時,背景滾動。當我在html標籤上設置'overflow:css'樣式時,它不會滾動。這導致我到這個問題 – TheAJ 2014-12-05 20:04:01

回答

0

當你隱藏文檔時,你基本上告訴瀏覽器不要滾動。這就是爲什麼你被引導到頁面的頂部,因爲頁面本質上不再延伸到視口之外。雖然不是每個瀏覽器都會將您發送到頁面的頂部(這裏預期的行爲是將用戶鎖定到他們所在的頁面),例如活動跟蹤hash(例如mypage.com /#ShowLogin /)像Angular經常用於路由可能很容易導致頁面跳轉到屏幕的頂部。


編輯:

如果你想保留的背景,使其不與頁面滾動,使用屬性background-attachment

html, body { 
    ... /* Other code here */ 
    background-attachment: fixed; 
} 
+0

通過背景,我的意思是覆蓋層背後的內容(如果覆蓋層不透明度小於1,您可以看到它) – TheAJ 2014-12-05 20:18:45

+0

您是否嘗試過在'body'元素上設置屬性而不是' html'元素? – 2014-12-05 20:35:38

+0

是的。我已將它應用於兩者 – TheAJ 2014-12-05 21:32:10