2012-08-05 110 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

相關問題