1

リンクをクリックしたときに特定の div 要素がユーザーに表示されるように、Web サイトに機能を追加しようとしています。コードを試してみました

$(".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

構文エラーが発生したばかりです。jQueryの以降のバージョンで.liveが減価償却されたため、.liveを.onに変更してください。これを使用すると、次のように機能します。

$(".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 に答える