2014-12-03 3 views
0

Мой HTML-контент генерируется из jquery и зависит от ответа ajax. В содержимом HTML У меня есть #leftsection, который имеет CSS "overflow-y:scroll;" Внутри "#leftsection" я коробка сказать "#devicebox_"+i, который имеет CSSjQuery прокрутка вверх не работает

Я динамический список, добавить свою к "#devicebox_"+i и если количество содержимого списка является> 6 Я претендую "#devicebox_"+i

мой HTML содержимое с левой части и DeviceBox выглядеть примерно так

<div id="leftsection"> 
    <div id="devicebox_1"> 
     <div id="listitem_1">LIST ITEM 1</div> 
     <div id="listitem_2">LIST ITEM 2</div> 
     <div id="listitem_3">LIST ITEM 3</div> 
     <div id="listitem_4">LIST ITEM 4</div> 
     <div id="listitem_5">LIST ITEM 5</div> 
     <div id="listitem_6">LIST ITEM 6</div> 
     <div id="listitem_7">LIST ITEM 7</div> 
     <div id="listitem_8">LIST ITEM 8</div> 
    </div> 
</div> 

После мой JQuery для прокрутки вниз devicebox_1.

Помните, что есть несколько ящиков устройств, например devicebox_1, devicebox_2, devicebox_3, поскольку контент является динамическим, и поэтому это listitem. после загрузки ящиков устройств и их списка относительных позиций.

Запрос ajax отправляется один за другим для обработки СПИСОК ДАННЫХ. я пытаюсь прокрутить вниз текущую ячейку устройства (devicebox_1) до элемента списка, который находится в процессе.

Ниже небольшая JQuery, который я использую для прокрутки вниз, но не работаю

for(var i=0; i< $(itemlist).size(); i++) 
{ 
    $('#devicebox_'+currDeviceid).animate({ 
      scrollTop: $('#listitem_'+i).offset().top 
    }, 100); 
} 
+0

Что говорит ваша консоль ошибок? –

+0

нет ошибки, он просто переместится в следующий список и обработает его – Mahendra

+0

Имеет ли код что-нибудь вообще? I.e., он прокручивает меньше или больше, чем вы хотите? Если элемент списка добавлен в конце списка, вы можете просто использовать произвольно большое значение для 'scrollTop', например. '0xffff'. – clapas

ответ

1

1: Верхние прокрутки по отношению к вашему #devicebox_X элементу, так что если вы хотите, чтобы прокручивание DeviceBox в положение в элементе listbox элемент devicebox должен иметь стиль CSS position: relative.

2: Чтобы использовать смещение относительно родителя смещения, вам необходимо использовать метод position() jQuery, который работает точно так же, как и метод offset, но затем относительно его родителя.

См jQuery's description of the position method

Затем он должен работать.

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

  • Нет связанных вопросов^_^