试图让div进入查看

时间:2013-02-27 11:22:40

标签: javascript jquery

我试图在视图中获取div并且div元素正在动态添加..所以我分配一个链接,点击一个div元素可以被带入视图,无论它是否已经在视野中。所以当我点击链接时,如果我试图进入视图的div已经在视图中,它将离开我的视野。这是一个错误??

http://jsfiddle.net/xFu3M/6/

我添加了一个工作示例。

代码就像

$(".testClick").on("click",function(e){
    e.preventDefault(); 
      // Call the scroll function
    goToByScroll("indID"+1);
});


function goToByScroll(id){
      // Reove "link" from the ID
    id = id.replace("link", "");
      // Scroll
    $('.contentBody').animate({
        scrollTop: $("#"+id).offset().top},
        'slow');
 }

1 个答案:

答案 0 :(得分:1)

考虑父偏移量也很有用:

LIVE DEMO

$(document).ready(function(){
    $(".wrapper").css({"width" : $(window).width() , "height" :  $(window).height()} );  
    $(".testClick").on("click",function(e){      
        e.preventDefault(); 
        goToByScroll("indID1"); // try change to indID4
    });       
});

function goToByScroll(id){
    var el = $('#'+id);
    var elOffs = el.offset().top;
    var parOffs = el.closest('.contentBody').offset().top;
    $('.contentBody').stop().animate({ scrollTop: elOffs - parOffs },800);
}