2014-11-10 4 views
3

Извините, я пробовал поиск, но я думаю, что моя проблема довольно специфична.Anchor link scrollbar, начиная с середины

Итак, у меня есть 2 divs, один с привязными тегами, затем основной контент 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); 
} 

Любые мысли или помощь будет оценена

Update:

<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> 

Newboxes ДИВ:

<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; 

}

+0

Есть ли дополнительный код отличается от этой скрипки: http://jsfiddle.net/d52k62vp/5/ – FirstLegion

ответ

0
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 
     } 
    } 
} 

Пример Fiddle: http://jsfiddle.net/d52k62vp/5/

+0

Я изменил свою функцию scrollWin (), используя это и все еще не работает. Благодарю. –

+0

Обновлен мой ответ. – FirstLegion

+0

Это помогло спасибо, еще одна вещь, это работает, но вам нужно нажать, а затем снова на ссылку, чтобы она работала. So: Нажмите на ссылку 1, прокрутите вниз, нажмите на ссылку 2, прокрутите вниз, снова нажмите ссылку 1, она прокручивается вверх. –

Смежные вопросы