javascript - item - ¿Desea desplazarse JQuery a Offset desde la parte superior del navegador?




slice jquery (2)

Tengo la siguiente secuencia de comandos de desplazamiento, que se desplaza alrededor de la página bien, funciona exactamente como lo quiero también.

$(function(){
    $('a[href*=#]').click(function() {
    if (location.pathname.replace(/^\//,'') == this.pathname.replace(/^\//,'')
        && location.hostname == this.hostname) {
            var $target = $(this.hash);
            $target = $target.length && $target || $('[name=' + this.hash.slice(1) +']');
            if ($target.length) {
                var targetOffset = $target.offset().top;
                $('html,body').animate({scrollTop: targetOffset}, 1000);
                return false;
            }
        }
    });
});

Sin embargo, lo necesito para ignorar la parte superior, por ejemplo, 200 px, ya que tengo un encabezado fijo en la parte superior de la página donde el contenido se desplaza hacia atrás.

Lo que significa que cuando me desplazo hacia arriba, desplaza el contenido hasta detrás del encabezado fijo, por lo que no puedo verlo, por lo que necesito desplazarme hacia abajo justo debajo del encabezado. suponer....

¿Se puede hacer esto como sería muy útil?

Muchas gracias por cualquier ayuda


Algo como esto funcionaría?

var targetOffset = $target.offset().top - 200;

O tome la altura del elemento de cabecera para el desplazamiento adicional.

var targetOffset = $target.offset().top - $("element").outerHeight(true);

El Código está bien, solo necesita eliminar la altura de su encabezado fijo aquí, por ejemplo, si es 200px. funcionará perfectamente

 $('html,body').animate({scrollTop: (targetOffset().top)-200}, 1000);

También puede comprobar esto cuando se hace clic en un botón

$(function() {

$('a[href*=#]:not([href=#])').click(function() {

    // Check height of the header and padding
    var header_height = $('.header').outerHeight();

Quítalo de tu offset

$('html,body').animate({scrollTop: (targetOffset().top) - header_height }, 1000);






jquery