2011-09-06 20 views
0

我想讓iScroll在頁面加載時滾動到某個位置,我將此代碼放在頁腳的最底部。無法調用未定義的方法'scrollTo'

<script> 

$(document).ready(function() { 

myScroll.scrollTo(0, -1389, 200); 


        }); 
</script> 

,但我在Chrome得到這個錯誤

遺漏的類型錯誤:無法調用 'scrollTo' 未定義

當我執行單獨

myScroll.scrollTo(0, -1389, 200); 

在命令行上它工作正常,文檔滾動到正確的位置。當iScroll被實例化

myScroll設置,這個代碼是在頭

<script type="text/javascript"> 
       var myScroll; 
function loaded() { 
    setTimeout(function() { 
     myScroll = new iScroll('content'); 
    }, 100); 
} 
window.addEventListener('load', loaded, false); 
      </script> 
+2

你在哪裏設置'myScroll'?你能提供這些代碼嗎? – Jeff

+0

已編輯的問題提供代碼 –

+0

問題已解決,我不得不把它包裝在一個timout功能 –

回答

1

我覺得你在「myScroll」有一個範圍的問題是不是你定義的函數的範圍之內。如果它是一個DOM元素,您應該可以獲取該元素並將其定義爲myScroll在您的函數範圍內,然後調用scrollTo()函數。


<script> 
$(document).ready(function() { 
    myScroll = /* Get your element here */; 
    myScroll.scrollTo(0, -1389, 200); 
}); 
</script> 
+1

可以嘗試「myScroll = document.getElementById('content');」 ? –

+0

這不會工作,因爲myScroll是iScroll插件的實例化, –

+0

爲什麼它會從控制檯運行但在文檔中沒有任何位置? –

相關問題