Jquery 隐藏标题并将其下方的div粘贴到滚动条的顶部

Jquery 隐藏标题并将其下方的div粘贴到滚动条的顶部,jquery,html,css,Jquery,Html,Css,当用户开始向下滚动页面时,我试图隐藏标题并将div粘贴到顶部(就在标题下方) 它应该保持在顶部,直到用户从顶部达到350px 当用户向上滚动时,只显示标题,而不显示下方的div 我尝试了css(粘性和固定位置),但没有达到预期效果 这是我的 这是我(在某人的帮助下)尝试过的jquery(我不擅长),但这只是我试图实现的目标的25% $(function(){ $(window).scroll(function(e) { if($(this).scrollTop()>300){

当用户开始向下滚动页面时,我试图隐藏标题并将div粘贴到顶部(就在标题下方)

  • 它应该保持在顶部,直到用户从顶部达到350px
  • 当用户向上滚动时,只显示标题,而不显示下方的div
  • 我尝试了
    css
    (粘性和固定位置),但没有达到预期效果

    这是我的

    这是我(在某人的帮助下)尝试过的jquery(我不擅长),但这只是我试图实现的目标的25%

    $(function(){
      $(window).scroll(function(e) {
        if($(this).scrollTop()>300){
          $('.header').fadeOut(); // Fading in the button on scroll after 300px
        }
        else{
          $('.header').fadeIn(); // Fading out the button on scroll if less than 300px
        }
      });
    });
    

    用css做不到这一点。检查jquerys,可能的解决方案

    $(window).scroll(function(e){ 
      var $el = $('.fixedElement'); 
      var isPositionFixed = ($el.css('position') == 'fixed');
      if ($(this).scrollTop() > 200 && !isPositionFixed){ 
        $('.fixedElement').css({'position': 'fixed', 'top': '0px'}); 
      }
      if ($(this).scrollTop() < 200 && isPositionFixed)
      {
        $('.fixedElement').css({'position': 'static', 'top': '0px'}); 
      } 
    });
    
    $(窗口)。滚动(函数(e){
    变量$el=$('.fixedElement');
    var isPositionFixed=($el.css('position')='fixed');
    如果($(this).scrollTop()>200&!isPositionFixed){
    $('.fixedElement').css({'position':'fixed','top':'0px'});
    }
    if($(this).scrollTop()<200&&isPositionFixed)
    {
    $('.fixedElement').css({'position':'static','top':'0px'});
    } 
    });
    

    在评论中添加了完整soloution的链接

    您需要将标题和.newswrap设置为
    位置:fixed
    。这样就行了

    $(document).ready(function(){
        $(window).scroll(function() {
            if($(window).scrollTop() < 350) {
                $("header").show();
                $(".newswrap").hide();
            } else {
                $("header").hide();
                $(".newswrap").show();
            }
        });
    });
    
    $(文档).ready(函数(){
    $(窗口)。滚动(函数(){
    如果($(窗口).scrollTop()<350){
    $(“标题”).show();
    $(“.newswap”).hide();
    }否则{
    $(“标题”).hide();
    $(“.newswap”).show();
    }
    });
    });
    
    为此,您需要jquery。你的js代码在哪里?我已经在末尾的提琴中添加了它。不。没有js。请注意我下面的答案,我想这是你在寻找我尝试过的js,但这是没有用的,因为我希望在用户滚动后标题立即隐藏,并且他在标题下方的div保持粘性,直到滚动从顶部达到350px。不,这不能解决我的目的,也可以单独使用css(位置:sticky)从您尝试执行的操作操作:sticky不会涵盖所有方面。位置:sticky仅定位某个元素,但您描述的逻辑必须由事件触发,因此我建议您使用scroll事件。我建议您尝试。Soloution可以在此处找到: