2015-04-24 20 views
1

当我把我的div id标签#fading一切似乎一下子消失。我希望我的部件逐渐消失;个别。我对jquery不太熟练,所以一些帮助会很棒。有人可以帮助修复我的不透明度滚动效果

第1部分 第2部分 第3部分 第4部分 第5部分

     </div> 
        </div> 
        </nav> 
       </div> 


    <div style="background:white;"> 
      <div class="row" id="fading" style="padding-left:15%; padding-right:15%;margin-top:100px;"> 
       <div class="col-xs-8"> 
       <p><b><em>Part 1:</b></em> Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p> 
      </div> 
      <div class="col-xs-4"> 
       <img src="./photo1.jfif" class="img-responsive "> 
      </div> 
     </div> 

     <div class="row" style="padding-left:15%; padding-right:15%;margin-top:150px;"> 
       <div class="col-xs-8"> 
       <p><b><em>Part 2:</b></em> Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p> 
      </div> 
      <div class="col-xs-4"> 
       <img src="./photo2.jpg" class="img-responsive "> 
      </div> 
     </div> 

     <div class="row" style="padding-left:15%; padding-right:15%;margin-top:200px;"> 
       <div class="col-xs-8"> 
       <p><b><em>Part 3:</b></em> Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p> 
      </div> 
      <div class="col-xs-4"> 
       <img src="./photo3.jfif" class="img-responsive "> 
      </div> 
     </div> 

     <div class="row" style="padding-left:15%; padding-right:15%;margin-top:250px;"> 
       <div class="col-xs-8"> 
       <p><b><em>Part 4:</b></em> Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p> 
      </div> 
      <div class="col-xs-4"> 
       <img src="./photo4.jfif" class="img-responsive "> 
      </div> 
     </div> 

     <div class="row" style="padding-left:15%; padding-right:15%;margin-top:300px;"> 
       <div class="col-xs-8"> 
       <p><b><em>Part 5:</b></em> Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p> 
      </div> 
      <div class="col-xs-4"> 
       <img src="./photo5.jfif" class="img-responsive "> 
      </div> 
     </div> 
</body> 

这里是一个需要修复或改剧本。

<script> 
var target = $('#fading'); 
var targetHeight = target.outerHeight(); 

$(document).scroll(function(e){ 
var scrollPercent = (targetHeight - window.scrollY)/targetHeight; 
if(scrollPercent >= 0){ 
    target.css('opacity', scrollPercent); 
} 
}); 
</script> 

回答

1

我认为这是你可能会后?

http://codepen.io/anon/pen/pJomJY?editors=001

脚本现在占每个.row元素上的滚动百分比:

$(window).scroll(function() { 

    var posY = window.scrollY; 

    $('.row').each(function(key, item) { 

     var target = $(item); 
     var topMargin = parseInt(target.css('margin-top')); 
     var targetHeight = target.outerHeight(true); 
     var targetStart = target.position().top; 
     var targetEnd = targetStart+targetHeight; 
     var scrollPercent = (targetEnd-posY)/targetHeight; 
     scrollPercent = Math.max(0, Math.min(scrollPercent, 1)); 

     if (posY > targetStart-topMargin) { 
      target.css('opacity', scrollPercent); 
     } 

    }); 
}); 
+0

正是我在找的东西。谢谢! – Alan

+0

当然欢迎您。这是一个很好的效果,我必须记住。感谢您的跟进。 :-) – Shikkediel

0

试试下面的查询:

$(document).scroll(function(e){ 
    $('.row').each(function(i, o) { 

     var target = $(o); 
     var targetHeight = target.outerHeight() + target.position().top; 

     var scrollPercent = (targetHeight - window.scrollY)/targetHeight; 
     if(scrollPercent >= 0){ 
      target.css('opacity', scrollPercent); 
     } 

    }) 
}); 

我希望它可以帮助你!

+0

这比我的代码更好,但一旦我得到的部位附近3都开始褪色,在一旦。 – Alan

+0

可以详细解释你想要做什么样的效果 –

+0

当我向下滚动时,我把图片中的部分褪去,但不是一次全部消失。例如,我向下滚动,然后第1部分只开始淡化,只留下导航,标题和其他4个部分。然后再滚动一些,然后第2部分开始褪色......等等等等。你给我的代码中发生的一件事是,一些部分一次性全部消失,而不是一个接一个地消失。 – Alan

相关问题