Javascript 我是否可以修改此航路点,使其在向下滚动500px屏幕之前不会生效
我正在使用的WordPress主题有以下代码,我假设一旦用户开始向下滚动,就会启动themes fixed header类 有没有一种方法可以修改它,这样类就不会在scroll上启动,而是在用户到达屏幕下方的某个点时启动,例如100px或其他类似的点。这是代码Javascript 我是否可以修改此航路点,使其在向下滚动500px屏幕之前不会生效,javascript,jquery,wordpress,Javascript,Jquery,Wordpress,我正在使用的WordPress主题有以下代码,我假设一旦用户开始向下滚动,就会启动themes fixed header类 有没有一种方法可以修改它,这样类就不会在scroll上启动,而是在用户到达屏幕下方的某个点时启动,例如100px或其他类似的点。这是代码 if ( et_is_fixed_nav ) { $('#main-content').waypoint( { offset: fun
if ( et_is_fixed_nav ) {
$('#main-content').waypoint( {
offset: function() {
if ( etRecalculateOffset ) {
et_calculate_header_values();
etRecalculateOffset = false;
}
return et_header_offset;
},
handler : function( direction ) {
if ( direction === 'down' ) {
$('#main-header').addClass( 'et-fixed-header' );
} else {
$('#main-header').removeClass( 'et-fixed-header' );
}
}
} );
看起来您的主题正在使用。我附加的链接显示了如何调整偏移。当前使用的函数看起来像是在其他地方处理偏移量,可能是在Wordpress选项面板中。我还没有测试过,但我想您的代码最终会是这样的:
$('#main-content').waypoint( {
offset: 100px,
handler : function( direction ) {
if ( direction === 'down' ) {
$('#main-header').addClass( 'et-fixed-header' );
} else {
$('#main-header').removeClass( 'et-fixed-header' );
}
}
} );
谢谢你的帮助,奥斯汀。你说得对,这事在别处处理。在一位朋友的帮助下,我在文件的其他地方找到了这一点
function et_calculate_header_values() {
var $top_header = $( '#top-header' ),
secondary_nav_height = $top_header.length && $top_header.is( ':visible' ) ? $top_header.innerHeight() : 0,
admin_bar_height = $( '#wpadminbar' ).length ? $( '#wpadminbar' ).innerHeight() : 0;
et_header_height = $( '#main-header' ).innerHeight() + secondary_nav_height - 1,
et_header_modifier = et_header_height <= 90 ? et_header_height - 29 : et_header_height - 56,
et_header_offset = et_header_modifier + admin_bar_height;
et_primary_header_top = secondary_nav_height + admin_bar_height;
}
function et_fix_slider_height() {
if ( ! $et_pb_slider.length ) return;
$et_pb_slider.each( function() {
var $slide = $(this).find( '.et_pb_slide' ),
$slide_container = $slide.find( '.et_pb_container' ),
max_height = 0;
$slide_container.css( 'min-height', 0 );
$slide.each( function() {
var $this_el = $(this),
height = $this_el.innerHeight();
if ( max_height < height )
max_height = height;
} );
对此
et_header_offset = et_header_modifier + admin_bar_height - 1000;
任务完成了。谢谢你的帮助,奥斯汀和丹·莫索普。顺便说一句,这就是优雅主题在Divi主题的custom.js中使用的内容,以防帮助他人。感谢开发者。你的解释帮助我理解了这个问题。您正确地假设偏移是在哪里处理的。我找到了它,并且能够在他人的帮助下解决这个问题。谢谢
et_header_offset = et_header_modifier + admin_bar_height - 1000;