如何去页面上的特定元素?

这个问题在这里已经有了答案:

  • 我怎样才能滚动到页面上使用jQuery的特定位置? 9个答案

  • 插件形式的标准技术看起来像这样:

    (function($) {
        $.fn.goTo = function() {
            $('html, body').animate({
                scrollTop: $(this).offset().top + 'px'
            }, 'fast');
            return this; // for chaining...
        }
    })(jQuery);
    

    然后你可以说$('#div_element2').goTo(); 滚动到<div id="div_element2"> 。 选项处理和可配置性作为读者的练习。


    如果该元素当前在页面上不可见,则可以使用本机scrollIntoView()方法。

    $('#div_' + element_id)[0].scrollIntoView( true );
    

    true表示对齐页面顶部, false表示对齐底部。

    否则,你可以使用jQuery的scrollTo()插件。

    或者可能只是获取元素的top position() (docs),并将scrollTop() (docs)设置为该位置:

    var top = $('#div_' + element_id).position().top;
    $(window).scrollTop( top );
    

    document.getElementById("elementID").scrollIntoView();
    

    同样的事情,但包装它的功能:

    function scrollIntoView(eleID) {
       var e = document.getElementById(eleID);
       if (!!e && e.scrollIntoView) {
           e.scrollIntoView();
       }
    }
    

    这甚至适用于iPhone上的IFrame。

    使用getElementById的示例:http://www.w3schools.com/jsref/tryit.asp?filename=tryjsref_document_getelementbyid

    链接地址: http://www.djcxy.com/p/36593.html

    上一篇: How to go to a specific element on page?

    下一篇: Making checkbox and radio labels clickable