2012-08-07 106 views
5

在我的網頁的移動視圖上,我可以在垂直和水平方向上滾動,但始終始終在左上角。 現在我想用window.scrollTo或其他等價物將視口設置爲我的自定義位置。 window.scroll似乎只適用於桌面瀏覽器。window.scrollTo無法在手機上工作

任何想法我能如何解決這個問題?

+0

請再具體些,以您的問題是什麼。 'window.scrollTo(x,y);'如果你的內容足夠大,'完美地工作。 – 2012-08-07 11:54:08

+0

我的dom看起來像這樣

現在我可以在移動和桌面瀏覽器中滾動圖片。但是當我有什麼不同的開始位置,我在哪裏看圖像,我嘗試使用窗口。 scrollTo(x,y);但這隻適用於桌面而不適用於移動瀏覽器。 – Safari 2012-08-07 11:59:55

+0

請提供完整的html,css和JavaScript測試用例。不知道你的形象有多大,或者你的內容的尺寸如何,就不可能估計問題出在哪裏。 – 2012-08-07 12:07:22

回答

3

我知道它終於工作。

我不得不使用另外的setTimeout函數

setTimeout(window.scrollTo(x,y),100); 
+2

您應該使用事件而不是超時。例如Event.observe(window,'load',function(){window.scrollTo(x,x); }) – 2013-11-11 13:31:29

+0

setTimeout也爲我解決了這個問題。非常奇怪的行爲... – patrickfox 2015-05-07 21:06:20

+0

我不認爲你的代碼是正確的,事實上window.scrollTo將不會在100ms後被調用,但馬上。你應該使用下面的代碼:'''JavaScriptsetTimeout(function(){window.scrollTo(x,y);},100)'''' – 2017-06-22 12:17:04

0

正如我在我的評論中說的那樣,如果你的內容是足夠大。這意味着比視口大。不知道具體細節,您是否考慮設置視口元標記?現在

<meta name="viewport" content="width=device-width, initial-scale=1.0"> 

,如果您的內容股利或圖像或其他超出視口寬度的尺寸(320名跌落在iPhone上),你可以滾動在x軸上。不過,對於y軸也是如此。

+0

我已經有這個meta標籤的視口 我使用的圖像大約是800x1000像素大。所以它們比視口大,但函數scrollTo仍然不起作用 – Safari 2012-08-07 12:09:22

+0

看,如果你沒有給出完整的上下文,很難猜測;) – 2012-08-07 12:10:24

+0

好的。看到。當我想看到我的圖片在我的網頁中放大時,然後我加載大版本的大圖,然後我想要圖片的位置,用戶在此之前加入。該點的值是正確的。所以我使用:window.scrollTo(point.x,point.y);在InitZoom函數中。 – Safari 2012-08-07 12:14:03

相關問題