2010-11-15 6 views
0

I thereasp.net пользовательский контроль scroolIntoView прокручивает всю страницу

Я использую пользовательский элемент управления asp.net с древовидной структурой. Когда я загружаю страницу, я хочу прокрутить элемент управления пользователя к выбранному узлу в древовидном представлении. Я использую функцию js .ScrollIntoView (true). Но это прокрутка всей страницы (а не только то, что находится внутри пользовательского элемента управления)

вот мой код

//js 
function ScroolToFirstSelectedCheckBox(ctrlId) { 

    Event.observe(window, 'load', function() { 
     var tree = document.getElementById(ctrlId + '_MyTreeView'); 

     var checkBoxes = tree.getElementsByTagName("input"); 
     var checkBoxesCount = checkBoxes.length; 
     for (var i = 0; i < checkBoxesCount; i++) { 
      if (checkBoxes[i].checked) { 
       checkBoxes[i].scrollIntoView(true); 
       break; 
      } 
     } 
    } 
    ); 
} 

//aspx.cs 
Page.ClientScript.RegisterClientScriptBlock(this.GetType(), 
              "ScrollToSelectedCheckBox", 
          string.Format("ScroolToFirstSelectedCheckBox('{0}')", 
          this.UniqueID), 
          true); 

Как я могу сохранить страницу положение прокрутки родительскую, но продолжают устанавливать положение проверочные пользователя, где я хотеть?

Tks

ответ

0

нормально, просто изменил

checkBoxes[i].scrollIntoView(true); 

с

checkBoxes[i].scrollIntoView(false); 

Вот оно !!!

= P

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