jquery
  • html
  • class
  • time
  • scroll
  • 2014-11-21 43 views 0 likes 
    0

    我已经设置了一个应该在当前小时开始的电视指南。我正在使用以下Divs,在上午12点之前使用此功能。时间条水平滚动。根据变量值在一个div处启动容器

    <div class="timeListContainer"> 
        <div class="timeList"> 
         <div class='timeCell' id="1"> 
          1am 
         </div> 
         <div class='timeCell' id="2"> 
          2am 
         </div> 
        </div> 
    </div> 
    

    我正在使用的脚本只是滚动一下,因为它没有看到ID。有没有人有任何想法如何我可以更改我的代码,以便在下午5点(17)的时间列表从第17号开始?我研究了这一点,并尝试了.attr('id')的地方,但我无法得到它的工作。下面的脚本是:

    $(document).ready(function() { 
    
    var dt = new Date(); 
    var time = dt.getHours(); 
    
    
    var myDiv = $('.timeCell').filter(function() { 
        return $(this).text().indexOf(time) ; 
    }); 
    
    
    $('.timeListContainer').animate({ 
        scrollLeft: myDiv.offset().left 
    }, 2000); 
    
    }); 
    
    +0

    保持当前的结构和过滤器,我可以将其更改为一个,两个,三个或0100,0200,0300等,但仍然不知道它会如何看呢? – powerranger 2014-11-21 17:15:53

    回答

    0

    一种方式做,这是使用的data-*属性的组合属性选择

    <div class="timeCell" data-time="1"> 
        1am 
    </div> 
    <div class="timeCell" data-time="2"> 
        2am 
    </div> 
    

    然后选择正确的一个:

    var myDiv = $('.timeCell[data-time="' + time + '"]') 
    

    (你可以用你目前的id属性来做到这一点,但是数据属性有点多html5-ey)

    另一种方式是由id

    var myDiv = $('.timeCell').filter(function() { 
        return this.id == time 
    }); 
    
    +0

    你我的朋友是一个懦弱的天才:D非常感谢:D:D – powerranger 2014-11-21 17:22:04

    相关问题