在jquery中滚动动态列表视图

时间:2015-02-23 00:35:55

标签: javascript jquery cordova jquery-mobile jquery-mobile-listview

我尝试动态滚动列表。 我找到了this answer,但它对我没有帮助。 我猜这是因为我的列表是一个动态列表。 我能怎么做?我想在选择值上滚动动态列表。

这是我的代码的小提琴: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 个答案:

答案 0 :(得分:0)

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

@Tasos写道:

  

究竟是怎样才能找到价值=“aaaa”?????您列表中不存在的内容---请参阅此内容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);