2012-08-05 193 views
1

我有一个与滚动和外部潜水和内部潜水的主要股利。当我点击一个按钮,主DIV滚动至下一内DIV情况的开始,我想在这个jsfidlle滚动到下一个可见元素

http://jsfiddle.net/alamin84/63FY7/2/

第一次单击滚动更好地解释到div的11,然后12,然后13,然后21这是下一子DIV等

我试图抢W¯¯ 利用这一问题

Get the first and last visible element in a scrollable div的第二个评论,但变量$第一应该保持参照第一可见元素给我不明确的时候sole.logged。 问题是它在做什么错了?如何做到这一点?

在此先感谢

**** ****编辑

应用devundef的建议后,我仍然不能得到滚动

现在是12 -22的正确的顺序 - 32

而且应该是11 - 12 -13 -21-22 ...等

在另一个字如何获得第一个可见的内部DIV(类=” SUB2” )的I C一个然后用获取/ scrollto下一个可见的内格

新小提琴

http://jsfiddle.net/alamin84/63FY7/15/

回答

0

如何获得第一个可见的内部div(class =“sub2”)?
我并不需要有针对内格 只有一个选择器内的div外层的div和内选择外选择会做

代码:

    $("#btnScroll").click(function (event) { 

        var $firstinner, $lastinner, $containerinner = $("#dvmn"), 
         positions = $containerinner.offset(), 
         positionsinner = $containerinner.offset(); 


        $('.sub2').each(function (i, obj) { 
         var $thisinner = $(this), 
          positioninner = $thisinner.offset(); 


         if (!$firstinner && positioninner.top >= positions.top) { 

          $firstinner = $thisinner.next(); 
          if ($firstinner.length == 0) { 
       //When last inner div get to next outer div 
           $firstinner = $thisinner.parent().next(); 

          } 

          console.log($firstinner); 
         } 

        }); 

        $containerinner.scrollTo($($firstinner), { 
         duration: 500 
        }); 

       }); 

小提琴: http://jsfiddle.net/alamin84/63FY7/24/

当然使用jquery.scrollTo插件感谢devundef

1

该行从不计算true

if ($first && position.top >= positions.top) ... 

因为$首先是在这一点空。你要问!$first

if (!$first && position.top >= positions.top) ... 

小提琴:http://jsfiddle.net/63FY7/3/

BTW,我会建议jquery.scrollTo插件,它工作得很好:

演示:http://demos.flesler.com/jquery/scrollTo/

片段:http://jsfiddle.net/wuN65/1/

+0

演示没有片段,但无论如何感谢 – 2012-08-05 12:14:56

+1

@Eleme enElsayed:http://jsfiddle.net/wuN65/1/ – devundef 2012-08-05 12:23:01

+1

一个非常好的jQuery插件处理scrollto和更多:[jQuery Waypoint](http://imakewebthings.com/jquery-waypoints/) – Tgr 2012-08-05 12:32:06

0

一个非常粗糙和老派的方法是使用scrollIntoView()方法。

所以,如果你知道下element是什么,你可以做..

element.scrollIntoView() 

更多here

相关问题