1

Я пытаюсь прокручивать список, созданный динамически. Я нашел this answer, но это мне не помогло. Я предполагаю, что это потому, что мой список - это динамический список. Как я могу это сделать? Я хочу прокрутить динамический список по выбранному значению.Прокрутка динамического списка в jQuery

Это скрипку с моим кодом: http://goo.gl/Tv7wvj и это мой код

HTML

<div class="scroll order"> 
    <ul></ul> 
</div> 

CSS

.scroll{ 
    overflow-y: scroll; 
    width:150px; 
    height:80px; 
} 

Javascript

$(document).ready(function() { 
    var html = ''; 
    for(i=0; i<10; i++){ 
     if(i==6){ 
      html += '<li> <label><input type="radio" name="radio" value="li'+i+'" checked="checked" /> 0'+i+' </label> </li>'; 
      continue; 
     } 
     html += '<li> <label><input type="radio" name="radio" value="li'+i+'" /> 0'+i+' </label> </li>'; 
    } 
    $('ul').append(html); 
}); 

var $s = $('.scroll'); 
var optionTop = $s.find('[value="04"]').offset().top; 
var selectTop = $s.offset().top; 

alert("optionTop : "+optionTop+"/selectTop : "+selectTop); 

$s.scrollTop($s.scrollTop() + (optionTop - selectTop)); 
+1

, как именно он собирается найти значение = «АААА» ????? который не существует в вашем списке - см. это, что работает https://jsfiddle.net/nn5fpmqa/ – Tasos

ответ

0

(Question answered in the comments. Converted to a community wiki answer.)

@Tasos писал:

, как именно он собирается найти значение = "АААА" ????? что не существует на вашем списке --- видит это, что работает jsfiddle.net/nn5fpmqa:

$(document).ready(function() { 
    var html = ''; 
    for(i=0; i<10; i++){ 
     if(i==6){ 
      html += '<li> <label><input type="radio" name="radio" value="li'+i+'" checked="checked" /> 0'+i+' </label> </li>'; 
      continue; 
     } 
     html += '<li> <label><input type="radio" name="radio" value="li'+i+'" /> 0'+i+' </label> </li>'; 
    } 
    $('ul').append(html); 
}); 
setTimeout(function() { 
var $s = $('.scroll'); 
var optionTop = $s.find('[value="li6"]').offset().top; 
var selectTop = $s.offset().top; 

alert("optionTop : "+optionTop+"/selectTop : "+selectTop); 

$s.scrollTop($s.scrollTop() + (optionTop - selectTop)); 
    }, 2000); 
Смежные вопросы