Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/85.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 当我隐藏一个div时,它会将它下面的div向上推_Javascript_Jquery_Html_Css - Fatal编程技术网

Javascript 当我隐藏一个div时,它会将它下面的div向上推

Javascript 当我隐藏一个div时,它会将它下面的div向上推,javascript,jquery,html,css,Javascript,Jquery,Html,Css,我试图制作一个向下滚动的动画,用户点击一个按钮,向下滚动到一个div并删除上面的两个div。然而,我的问题是,动画在chrome上运行良好,但在firefox和safari上,该按钮实际上会使您滚动到div的开头 我期望的输出是 我的JS: $(document).on('click', 'a[href^="#index"]', function (event) { event.preventDefault(); $('html, body').animate({

我试图制作一个向下滚动的动画,用户点击一个按钮,向下滚动到一个div并删除上面的两个div。然而,我的问题是,动画在chrome上运行良好,但在firefox和safari上,该按钮实际上会使您滚动到div的开头

我期望的输出是

我的JS:

$(document).on('click', 'a[href^="#index"]', function (event) {
    event.preventDefault();

    $('html, body').animate({
        scrollTop: $($.attr(this, 'href')).offset().top - 100
    }, 1200);
    $('.introsection').delay(1300).hide(0);
    $('#swipe-down').delay(1300).hide(0);
    $('body').css('overflowY', 'scroll');
    $('#home-mobile-nav').css('position', 'fixed');
    $('#home').css('margin-top', '0');
});
我认为问题在于:

$('.introsection').delay(1300).hide(0);
    $('#swipe-down').delay(1300).hide(0);
有没有更好的方法隐藏div

解决我问题的代码笔是

使用-webkit-,-moz-到CSS,使CSS特定于浏览器。 -webkit-用于Chrome和Safari,而-moz-用于Firefox。
只有通过定义与边距和填充相关的特定CSS,内容的设计才能在整个浏览器中保持不变。

寻求调试帮助的问题此代码为什么不起作用?必须包括所需的行为、特定的问题或错误,以及在问题本身中重现这些问题所需的最短代码。对我来说,在Chrome和Firefox中,它们的工作原理是一样的,似乎都比你预期的滚动得更远。为什么要滚动到$$.attrthis,'href'.offset.top-100,这是您的按钮,而您只需滚动到您希望位于顶部的位置?你也可以更好地利用链接你的动画。你滚动到第三个div的位置,然后延迟一段时间后隐藏上面的两个div?您希望滚动条的位置会发生什么变化?如果您试图模拟复制wearebarbarian站点,请注意滚动条的位置-它不会改变。他们不是在滚动浏览器,而是在移动内容。