【问题标题】:How to have a page load to the middle of the page (instead of top)?如何将页面加载到页面中间(而不是顶部)?
【发布时间】:2014-11-23 06:47:42
【问题描述】:

我希望页面在页面中间的某个 div 处打开,而不是在顶部...

我有类似的东西:

<div id="d1">
<div id="d2">
<div id="d3">
<div id="d4">
<div id="d5">
<div id="d6">

如何让页面在 #d4 而不是顶部打开? (除了将 #d4 添加到 URL 的末尾...)

我想一定有一些简单的方法可以做到这一点,但我不知道如何去寻找解决方案! HTML,JavaScript?非常感谢任何帮助。

【问题讨论】:

  • 哎呀,对不起。应该有 5 个 div 的列表,ids:#d1 到 #d5。

标签: javascript html css


【解决方案1】:
<script>
function ScrollToElement(theElement){

  var selectedPosX = 0;
  var selectedPosY = 0;

  while(theElement != null){
    selectedPosX += theElement.offsetLeft;
    selectedPosY += theElement.offsetTop;
    theElement = theElement.offsetParent;
  }

 window.scrollTo(selectedPosX,selectedPosY);

}
</script>

http://radio.javaranch.com/pascarello/2005/01/09/1105293729000.html

【讨论】:

    【解决方案2】:

    使用this 查找 div 位置 然后使用以下 javascript 命令:

    window.scroll(0, DIV_POS); // horizontal and vertical scroll targets
    

    【讨论】:

    • 正是我想要的。谢谢!
    【解决方案3】:

    编辑: 哎呀!没看过Except....无视!

    提醒自己,在回答之前阅读整个问题!

    结束编辑

    您总是可以使用 HTML 锚标记

    <a name="d1" />
    <div id="d1"> 
    <a name="d2" />
    <div id="d2">
    <a name="d3" /> 
    <div id="d3"> 
    <a name="d4" />
    <div id="d4"> 
    <a name="d5" />
    <div id="d5"> 
    <a name="d6" />
    <div id="d6"> 
    

    当您导航到页面时,您将在 url 中包含锚名称: pagename.htm#d4

    确保关闭你的 div 标签。

    祝你好运,

    帕特里克

    【讨论】:

      【解决方案4】:

      你可以使用Javascript:

      location.replace('#d4');
      

      【讨论】:

      • @Ryley:你误解了他。他的意思是他不想从不同的 URL 加载页面。
      • 呃,好吧......我仍然没有真正看到区别(现在用#d4重新加载它与最初用#d4加载它),我误点击了我的投票时间,所以现在不能改变它....
      • @Ryley:我假设他只是不希望页面的初始 URL(可能会在平面广告中发布)有 #
      • 嗯,我试了一下,我不介意像这样将锚点添加到 URL 中(我只是不需要最初添加),但它只适用于重新加载,而不是初始加载。
      • &lt;script&gt; 块移动到页面末尾,它应该可以工作。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-10-09
      • 2012-09-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多