Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/69.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
Jquery-固定浮动元素和动画背景_Jquery_Scroll_Jquery Animate_Fixed - Fatal编程技术网

Jquery-固定浮动元素和动画背景

Jquery-固定浮动元素和动画背景,jquery,scroll,jquery-animate,fixed,Jquery,Scroll,Jquery Animate,Fixed,我正在尝试将jqueryfordesigners()中的固定浮动滚动效果与动画背景集成在一起。JFiddle在这里()。从概念上讲,我想发生的是当你滚动经过导航,它固定在页面顶部时,背景会慢慢淡入。当您向后滚动且导航停止在灰色框(图像占位符)下方的原始位置时,背景将淡出。我遇到了三个问题 导航的背景很快就会显示出来。一旦你滚动过H1,它就会弹出 背景动画不平滑 向上滚动时,背景不会消失 有什么想法吗?这是我的建议。首先我做的是把背景放在一个单独的div上,然后对该div的不透明度设置动画。这样,

我正在尝试将jqueryfordesigners()中的固定浮动滚动效果与动画背景集成在一起。JFiddle在这里()。从概念上讲,我想发生的是当你滚动经过导航,它固定在页面顶部时,背景会慢慢淡入。当您向后滚动且导航停止在灰色框(图像占位符)下方的原始位置时,背景将淡出。我遇到了三个问题

  • 导航的背景很快就会显示出来。一旦你滚动过H1,它就会弹出
  • 背景动画不平滑
  • 向上滚动时,背景不会消失
  • 有什么想法吗?

    这是我的建议。首先我做的是把背景放在一个单独的div上,然后对该div的不透明度设置动画。这样,它可以在没有css3的浏览器上工作

    我还在if语句中添加了更多的验证,这样,如果标题已经修复,它就不会尝试设置动画

    HTML:


    嘿,你用过这个吗。让我知道这是否是你想要的。嘿,科尔,非常感谢你的帮助!实际上,我还没有使用它,因为在完成那个项目之前,我有点偏离了方向。这就是说,我将在本周的某个时候实施它,因为我的日程已经开放了一些。
    <div id="header">
        <H1>LoremIpsum</H1>
    </div>
    <div id="content">
        <div id="image">
            LoremIpsum
        </div>
        <div id="navWrapper">
    
            <ul id="nav">
                <li><a href="http://www.christiancoronato.com/">Home</a></li>
                <li><a href="http://www.christiancoronato.com/pictures/">Pictures</a></li>
                <li><a href="http://www.christiancoronato.com/contact/">Contact</a></li>
                <li><a class='tester1' href="http://www.christiancoronato.com/shows/">Shows</a></li>
                <li><a class='tester' href="http://www.christiancoronato.com/about/">Bio</a></li>
            </ul>
            <div class='navBackground'></div>
        </div>
      </div>
    </div>
    
    $(document).ready(function () {  
      var top = $('#nav').offset().top - parseFloat($('#nav').css('marginTop').replace(/auto/, 0));
      $(window).scroll(function (event) {
        //return false;
    
          // what the y position of the scroll is
        var y = $(this).scrollTop();
    
        // whether that's below the form
        if (y >= top && !$('#nav').hasClass('fixed') ) {
          // if so, ad the fixed class
          $('#nav, .navBackground').addClass('fixed');
          $('.navBackground').css('margin-top','0');
          $('.navBackground').stop().animate({"opacity":1}, "slow");
    
        } else if(y < top && $('#nav').hasClass('fixed')) {
          // otherwise remove it
          $('.fixed').removeClass('fixed');
          $('.navBackground').css('margin-top','-40px');
          $('.navBackground').stop().animate({"opacity":0}, "slow");        
    
        }
      });
    });
    
    body {
        background: url('http://dl.dropbox.com/u/62537/header.jpg') top center repeat;
    margin: 0;            
        display: block;
        height: 1500px;
    }
    #header {
        background: url('http://dl.dropbox.com/u/62537/headerBG.jpg') center repeat-x;
        font-size:3em;
        padding: 20px 0;
        height: 40px;
        display: block;
        overflow: hidden;
        margin: 0 0 10px;
      -webkit-box-shadow: 0px 0px 4px 0px #000;
         -moz-box-shadow: 0px 0px 4px 0px #000;
              box-shadow: 0px 0px 4px 0px #000;
    
    }
    H1 {
        position: relative;
        top: -5px;
    }
    H1, #content {
        margin: 0 auto;
        width: 720px;    
    }
    #image {
        background-color: #555;
        height: 180px;
        width:720px;
        display: block;
        overflow: hidden;
    }
    #plug {
        opacity: 0;
        background-color: #777;
        color: #FFF;
        padding: 0.5em;
    }
    
    #navWrapper { /* required to avoid jumping */
      position: relative;
      width: 600px;
    
    }
    #nav {
    
      /* just used to show how to include the margin in the effect */
      padding: 10px 0;
      font-size: 1.25em;
    
      list-style: none outside none;
        overflow: auto;
        width: 600px;
        z-index:1;
    
    /*
        position: relative;
    */
    }
    .navBackground{
        background:  url('http://dl.dropbox.com/u/62537/fadeBG.png');
        width: 600px;
        padding: 20px 0;
    
        opacity:0;
        filter:alpha(opacity=0);
    }
    
    .notfixed{
    
    }
    
    .fixed {
      position: fixed;
        top: 0;
        z-index:-1;
        margin-top:0;
    }
    #nav li {
        float: left;
        padding-right: .5em;
    }