1

我正在尝试向我的网站添加一个功能,当我单击一个链接时,我希望一个特定的 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/

也试试这个http://jsfiddle.net/xFu3M/6/这是一个错误..我试图让 div 1 进入视图并且它已经在视图中,所以当我点击链接时它显示了一些其他 div

4

2 回答 2

2

您刚刚遇到语法错误,将 .live 更改为 .on ,因为 .live 在更高版本的 jQuery 中已贬值,使用它,它将起作用:

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

看到这个编辑过的小提琴jsFiddle

于 2013-02-27T10:39:29.517 回答
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因为它从现在开始已经贬值了。

于 2013-02-27T10:39:21.327 回答