2011-08-02 98 views
4

當然,有一個簡單的方法來做到這一點。我需要在Java腳本彈出窗口中加載頁面。但是我需要在窗口中顯示的內容是一種方式。有沒有辦法跳到頁面的那一部分? (所以跳轉到垂直滾動座標?)(另外,我不能編輯正在顯示的頁面,只是鏈接到它)Javascript彈出滾動跳轉

任何幫助非常感謝!

+0

我想念一些細節。鏈接頁面是否在同一個域內?你可以鏈接到一個錨點/ ID爲一些用戶回答,或者你想滾動一定數量的像素? –

回答

0

假設你不能鏈接到錨,但你加載到彈出的頁面是在同一個域中,你可以使用這樣的事情:

  1. 負荷彈出
  2. 設置onload事件的彈出窗口滾動它加載後
  3. 已經加載

您可能需要定製此,如後彈出的頁面會向下滾動你可以提供一個額外的參數給openInPopUp()和滾動到的確切位置。

這裏的守則:

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"> 
<html> 
    <head> 

     <script language="javascript" type="text/javascript"> 
      function openInPopUp(link) { 
      // (1) load the popup 
      newwindow = window.open(link.href, 'name', 'height=300,width=200,resizable=1,scrollbars=1'); 

      // (2) set the onload event 
      newwindow.onload = function() { 
       scrollDown(); 
      }; 

      return false; 
      } 

      function scrollDown(){ 
      // (3) scroll down 
      newwindow.scrollTo(0, 200); 
      } 
     </script> 
     <title></title> 
    </head> 
    <body> 
     <p> 
      <a href="popup.html" onclick="return openInPopUp(this)">open link to popup and scroll down</a> 
      <br/><br/> 

      Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum<br/> 
      Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum<br/> 

     </p> 
    </body> 
</html> 

如果你想從另一個域中加載內容,比調用頁面,這是不行的,但在權限錯誤結束。

Details for the scrollTo function

3

最簡單的方法是通過在URL中的哈希後附加其ID鏈接到一個元素在頁面上。即當你打開你的彈出窗口時,

window.open('pagename.html#element-to-show','mywindow','width=400,height=200') 

其中「元素顯示」是頁面元素的id。