解決方案
如果你想隱藏的數據,新增visibility:hidden;
與應保持隱藏在開始內容的元素。執行我的頁面滾動代碼,最後將visibility:hidden;
更改爲visibility:visible
。
會發生什麼?
- CSS隱藏了這些元素的內容:
visibility:hidden
- 頁面加載
- 的JavaScript導致頁面滾動到中心:
window.scrollTo(..., ...)
- 的JavaScript顯示機密內容(瀏覽器的視野之外):
visibility=visible
- 用戶滾動到左/右,並且能夠讀取祕密
小提琴:http://jsfiddle.net/2Dse3/5/
滾動碼
滾動頁面的中心不能用純CSS/HTML來實現。這隻能通過使用JavaScript來完成。爲了這個簡單的目的,我寧願使用本地JavaScript而不是包含JQuery插件(不必要的服務器負載)。
JavaScript代碼:
window.scrollTo(
(document.body.offsetWidth -document.documentElement.offsetWidth)/2,
(document.body.offsetHeight-document.documentElement.offsetHeight)/2
);
/*
* window.scrollTo(x,y) is an efficient cross-broser function,
* which scrolls the document to position X, Y
* document.body.offsetWidth contains the value of the body's width
* document.documentElement contains the value of the document's width
*
* Logic: If you want to center the page, you have to substract
* the body's width from the document's width, then divide it
* by 2.
*/
你必須調整CSS(見Fiddle):
body {width: 500%}
#viewContainer {width: 100%}
最後要注意的。當用戶禁用JavaScript時你期望什麼?他們是否被允許查看網頁的內容?如果是,請加上:
<noscript>
<style>
.page{
visibility: visible;
}
</style>
</noscript>
否則,請加<noscript>JavaScript is required to read this page</noscript>
。
只要是明確的......你要水平滾動的容器,但你不想使用JavaScript來控制滾動,只是一個HORIZ滾動條? – MrWhite
不要認爲有一個純粹的html5/css解決方案。 - $(「#myDiv」)。Focus(); – Jawad
哦不。我以後使用javascript/jquery來影響滾動。我不想要的是該網站加載,是在左側,並將加載滾動到頁面中間的實際起始區域後。我想避免讓用戶看到爲以後深入查看網站保留的內容。 – alex