2013-02-27 45 views
1

我想添加一个功能到我的网站的方式,当我点击一个链接,我想要一个特定的div元素来进入查看用户。试图代码得到一个特殊的div来查看或滚动到视图

$(".testClick").live("click",function(e){ 
    e.preventDefault(); 
     // Call the scroll function 
    goToByScroll("indID13"); 
}); 


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

但这并不工作...是有可能用了纯jQuery的本身的任何插件来实现该功能..或者我应该使用任何插件... 我将添加一个样本我试过的是什么。该链接的jsfiddle http://jsfiddle.net/xFu3M/

和TOOOO试试这个http://jsfiddle.net/xFu3M/6/这是试图让DIV 1至视图和bug..im它已经鉴于,,所以当我点击链接它显示了一些其他分区

+0

'live'已在jQuery 1.9中删除。 – undefined 2013-02-27 10:40:03

回答

2

你只是有一个语法错误,改变.live来。对作为.live已jQuery中的更高版本贬值使用,它会工作:

$(".testClick").on("click",function(e){... 

看到这个编辑小提琴jsFiddle

+0

谢谢你的工作...... :) wt如果dom是动态创建的,如果即时通讯使用.on在文档就绪包装器中,单击事件将检测到正确的? – sam 2013-02-27 10:47:57

+0

编辑已提出质疑.... – sam 2013-02-27 10:51:16

0

尝试

<script type="text/javascript" src="js/jquery.js"></script> 
<script type="text/javascript"> 

    $(document).ready(function() 
    { 
     $(".wrapper").css({"width" : $(window).width() , "height" : $(window).height()}); 
     $(".testClick").on("click",function(e) 
     { 
      e.preventDefault(); 
      goToByScroll("indID13"); 
     }); 
    }); 

    function goToByScroll(id) 
    { 
     id = id.replace("link", ""); 
     $('html,body').animate(
     { 
      scrollTop: $("#"+id).offset().top 
     },'slow'); 
    } 

</script> 

您点击事件代码未在document.ready包围。

也使用.on而不是.live,因为它从现在开始已经折旧了。

+0

wt如果dom是动态创建的,如果im在文档就绪包装器中使用.on,那么点击事件将会被检测到吗? – sam 2013-02-27 10:46:27

+0

不对,它会工作......不管dom是动态创建的。 – 2013-02-27 10:47:46

+0

我将检查.... – sam 2013-02-27 10:50:39