【问题标题】:Anchor link scrollbar starting in middle锚链接滚动条从中间开始
【发布时间】:2014-11-10 14:41:37
【问题描述】:

抱歉,我尝试过搜索,但我认为我的问题非常具体。

所以我有 2 个 div,一个带有锚标签,然后是主要内容 div。在主要内容 div 中,我有以下脚本来隐藏内容 div 中的不同 div 以隐藏和显示活动的锚链接。

 function showonlyone(thechosenone) {
      var newboxes = document.getElementsByTagName("div");
            for(var x=0; x<newboxes.length; x++) {
                  name = newboxes[x].getAttribute("class");
                  if (name == 'newboxes') {
                        if (newboxes[x].id == thechosenone) {
                        newboxes[x].style.display = 'block';
                  }
                  else {
                        newboxes[x].style.display = 'none';
                  }
            }
      }
    }

一切正常,但是当我在单击一个锚点后向下滚动,然后单击另一个锚点时,它会滚动到我在最后一个锚点上的位置。我尝试将以下内容添加到锚链接中,但没有成功:

    function scrollWin()
{
scrollTo(0,0);
}

任何想法或帮助将不胜感激

更新:

<a href="#x1" onclick="showonlyone('newboxes1')"><span class="subsection1">1 Introduction</span></a><br>
<a href="#x1.1" onclick="showonlyone('newboxes2')"><span class="subsection">1.1 What version am I using?</span></a>

新盒子 div:

<div class="newboxes" id="newboxes38">

CSS:

#bigbox {
position: fixed;
margin-left:31.7%;
margin-right:auto;
overflow-y:scroll;
overflow-x:hidden;
width:53.25%;
height: 89%;
background-color:#fff;
padding:2em;
border-right:1px grey solid;
border-left:1px grey solid;
padding-bottom: 3em;

}

【问题讨论】:

标签: javascript html css scrollbar anchor


【解决方案1】:
function showonlyone(thechosenone) {
    var newboxes = document.getElementsByTagName("div");
    for(var x=0; x<newboxes.length; x++) {
        name = newboxes[x].getAttribute("class");
        if (name == 'newboxes') {
            if (newboxes[x].id == thechosenone) {
                newboxes[x].style.display = 'block';                        
            } else {
                newboxes[x].style.display = 'none';                        
            }
            newboxes[x].scrollTop = 0; //scrolls all divs to the top
        }
    }
}

小提琴示例:http://jsfiddle.net/d52k62vp/5/

【讨论】:

  • 我已经使用它更改了我的函数 scrollWin() 并且仍然无法正常工作。谢谢。
  • 这有帮助,谢谢,还有一件事,它可以工作,但是您必须单击关闭然后再次单击链接才能工作。所以:点击链接1,向下滚动,点击链接2,它向下滚动,再次点击链接1,它向上滚动。
  • 你能把其中一个“新盒子”的代码贴出来吗?
  • 是的,我刚刚将我的 css 添加到那个 js 小提琴中,它也可以工作,不知道为什么它不在我的页面上。我觉得这与我的 div 拉伸到窗口大小有关?无论如何,谢谢,我会尝试按照你的例子工作
  • 不管是窗口大小,还是会滚动到顶部。必须有另一个因素。如果您可以在 jsfiddle 中复制错误,请这样做并发布,以便我查看。
猜你喜欢
  • 2019-07-07
  • 1970-01-01
  • 1970-01-01
  • 2012-02-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-12-09
  • 1970-01-01
相关资源
最近更新 更多