看到網上有這樣描述的:
現在A頁面內分為上下兩個部分,上部分是top,下部分分左右,左是treeview右邊是iframe,iframe內嵌一個B頁面,B頁面的內容實質上是個月刊,可以理解為雜志,里面有很多轉向到其他頁面的連接,問題來了。
如果現在我瀏覽A頁面很長,瀏覽器滾動條在中間,當我點擊B頁面的某個連接時,iframe內的頁面變了,但是A頁面整體無變化,這時滾動條還是在中間的部位,造成的為題就是我看到的iframe里面的內容不是文章的頭部,而有可能是直接看到中間部位甚至是尾部(因為我的iframe自適應高度,當文章高度低於iframe高度時他是會收縮的自然的瀏覽器也就在文章最底部了)。
①首先頁面的首頁是這樣的:

②然后點擊左下部分的“more”按鈕,應該展示這樣的頁面效果,如下:

③但是實際上,展示的頁面效果是這樣的,如下:

(1)有一個主頁面A,A中嵌入一個iframe框架B,如下:
<body>
<div class="main_body">
<!--logo-->
<img class="logo" src="static/images/logo2.png" alt="江蘇分中心">
<!--menu-->
<div class="main-menu">
<a href="#" name="link" class="current" onclick="opIframePage(this,'home');">0</a>
<a href="#" name="link" id="news" onclick="opIframePage(this,'news');">1</a>
<a href="#" name="link" onclick="opIframePage(this,'train');">2</a>
<a href="#" name="link" onclick="opIframePage(this,'auth');">3</a>
<a href="#" style="background: orange; color:#fff;" onclick="regist();">4</a>
</div>
<div>
<iframe id="iframePage" style="width: 100%;height: 1000px;overflow-y:scroll;" frameborder="0">
</iframe>
</div>
<footer>
<p>fgd</p>
</footer>
</div>
</body>
打開iframe中的頁面:document.getElementById("iframePage").src =url;
(2)如果我打開的B頁面后,主體頁面位於中部或者底部,這就不符合用戶的習慣了
如何改變?
方法一:在父頁面做手腳:
function topTo(){ document.getElementById(‘iframePage’).scrollIntoView(); }
其中iframePage是你要定位在頁面頂部的元素id,然后在子頁面中調用父級頁面的方法,parent.topTo();
方法二:直接在子頁面中寫方法:parent.scrollTo(0,0);
這樣就可以顯示②步的效果了。
