2017-10-26 2 views
0

をDIVに適用した場合、私はヘッダ非表示を追加し、次のコードを有しており、ヘッダを表示するクラスを追加可視0クラスは

jQuery(document).ready(function($){ 

/* Jumbotron scroll */ 

// adjust this number to select when your button appears on scroll-down 
var offset = 300, 

// bind with the button link 
$animation = $('.jumbotron'); 

// apply animation 
$(window).scroll(function(){ 
($(this).scrollTop() > offset) ? $animation.addClass('header-hide').removeClass("header-show"): 
$animation.addClass('header-show').removeClass("header-hide"); 
}); 
}); 

CSS

.header-hide { opacity: 0; } 
.header-show { opacity: 1; } 

をジャンボトロンするために、私は困難これらの変更を行うことを備えてい私のコード

  1. からdivは、私はそれがになりたいopacity: 0とき(私はそれは完全にあなたがそれを見ることができないとき消えますが、0に可視性を変更すると、それだけで消える点滅ますしたい)
+0

1.あなたは、彼らが上にスクロールあれば、それは再び最初の時間を渡し、そして後にオフセット変数を変更する必要があります。標準的なif/elseを使用して、混乱することはありません。 2.可視性は簡単にはアニメーション化されません。最後にjsを使用して適用することも、cssキーフレームを適用することも検討してください。 –

答えて

0

これは、あなたが希望しているものを行うことができます - というよりも、クラス間のトグル、 .jumbotron要素のCSS不透明プロパティを設定するだけです。それが役に立てば幸い。

可視性の切り替えを含むようにEDITEDします。基本的には、不透明度がゼロになると(実際にはゼロ以下になりますが、.css( "不透明度")でフェッチされると0に戻ります)、可視性は非表示に設定されます。それ以外の場合、可視性は初期値に設定されます。

jQuery(document).ready(function($) { 
 

 
    /* Jumbotron scroll */ 
 

 
    // adjust this number to select when your button appears on scroll-down 
 
    var offsetStart = 300, 
 
    offsetEnd = 600, 
 

 
    // bind with the button link 
 
    $animation = $('.jumbotron'); 
 

 
    // apply animation 
 
    $(window).scroll(function() { 
 
    if ($(this).scrollTop() > offsetStart){ 
 
     // we set the opacity level based on percentage through a 
 
     // given start/end range. By doing this, we can calculate 
 
     // how quickly we want the fade to happen. 
 
     var currentOpacity = 1-(($(this).scrollTop()-offsetStart)/(offsetEnd-offsetStart)); 
 
     // uncomment this line to watch the numbers fly by. 
 
     //console.log(currentOpacity) 
 
     
 
     // Now, we want to set the css opacity value for this el. 
 
    $animation.css("opacity", currentOpacity); 
 
    if($animation.css("opacity") == 0) { 
 
     $animation.css("visibility", "hidden"); 
 
    } else { 
 
     $animation.css("visibility", "initial"); 
 
    } 
 
    } 
 
    }); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div class='jumbotron'> 
 
<p>Pellentesque in ipsum id orci porta dapibus. Sed porttitor lectus nibh. Curabitur aliquet quam id dui posuere blandit. Donec sollicitudin molestie malesuada. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Donec velit neque, auctor sit amet aliquam vel, ullamcorper sit amet ligula.</p> 
 

 
<p>Donec sollicitudin molestie malesuada. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus magna justo, lacinia eget consectetur sed, convallis at tellus. Curabitur aliquet quam id dui posuere blandit. Curabitur aliquet quam id dui posuere blandit.</p><p>Pellentesque in ipsum id orci porta dapibus. Sed porttitor lectus nibh. Curabitur aliquet quam id dui posuere blandit. Donec sollicitudin molestie malesuada. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Donec velit neque, auctor sit amet aliquam vel, ullamcorper sit amet ligula.</p> 
 

 
<p>Donec sollicitudin molestie malesuada. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus magna justo, lacinia eget consectetur sed, convallis at tellus. Curabitur aliquet quam id dui posuere blandit. Curabitur aliquet quam id dui posuere blandit.</p><p>Pellentesque in ipsum id orci porta dapibus. Sed porttitor lectus nibh. Curabitur aliquet quam id dui posuere blandit. Donec sollicitudin molestie malesuada. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Donec velit neque, auctor sit amet aliquam vel, ullamcorper sit amet ligula.</p> 
 

 
<p>Donec sollicitudin molestie malesuada. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus magna justo, lacinia eget consectetur sed, convallis at tellus. Curabitur aliquet quam id dui posuere blandit. Curabitur aliquet quam id dui posuere blandit.</p><p>Pellentesque in ipsum id orci porta dapibus. Sed porttitor lectus nibh. Curabitur aliquet quam id dui posuere blandit. Donec sollicitudin molestie malesuada. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Donec velit neque, auctor sit amet aliquam vel, ullamcorper sit amet ligula.</p> 
 

 
<p>Donec sollicitudin molestie malesuada. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus magna justo, lacinia eget consectetur sed, convallis at tellus. Curabitur aliquet quam id dui posuere blandit. Curabitur aliquet quam id dui posuere blandit.</p><p>Pellentesque in ipsum id orci porta dapibus. Sed porttitor lectus nibh. Curabitur aliquet quam id dui posuere blandit. Donec sollicitudin molestie malesuada. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Donec velit neque, auctor sit amet aliquam vel, ullamcorper sit amet ligula.</p> 
 

 
<p>Donec sollicitudin molestie malesuada. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus magna justo, lacinia eget consectetur sed, convallis at tellus. Curabitur aliquet quam id dui posuere blandit. Curabitur aliquet quam id dui posuere blandit.</p><p>Pellentesque in ipsum id orci porta dapibus. Sed porttitor lectus nibh. Curabitur aliquet quam id dui posuere blandit. Donec sollicitudin molestie malesuada. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Donec velit neque, auctor sit amet aliquam vel, ullamcorper sit amet ligula.</p> 
 

 
<p>Donec sollicitudin molestie malesuada. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus magna justo, lacinia eget consectetur sed, convallis at tellus. Curabitur aliquet quam id dui posuere blandit. Curabitur aliquet quam id dui posuere blandit.</p><p>Pellentesque in ipsum id orci porta dapibus. Sed porttitor lectus nibh. Curabitur aliquet quam id dui posuere blandit. Donec sollicitudin molestie malesuada. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Donec velit neque, auctor sit amet aliquam vel, ullamcorper sit amet ligula.</p> 
 

 
<p>Donec sollicitudin molestie malesuada. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus magna justo, lacinia eget consectetur sed, convallis at tellus. Curabitur aliquet quam id dui posuere blandit. Curabitur aliquet quam id dui posuere blandit.</p><p>Pellentesque in ipsum id orci porta dapibus. Sed porttitor lectus nibh. Curabitur aliquet quam id dui posuere blandit. Donec sollicitudin molestie malesuada. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Donec velit neque, auctor sit amet aliquam vel, ullamcorper sit amet ligula.</p> 
 

 
<p>Donec sollicitudin molestie malesuada. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus magna justo, lacinia eget consectetur sed, convallis at tellus. Curabitur aliquet quam id dui posuere blandit. Curabitur aliquet quam id dui posuere blandit.</p> 
 
</div>

+0

閉じるが、この方法で行うと、不透明度はスクロールした距離に基づいて決まります。ユーザーが特定の距離を下にスクロールするとフェードアウトし、スクロールバックするとフェードインしたいだけです。パラメータの1つを削除しました。上から同じオフセットで表示する必要があると思いますダウン – user3550879

関連する問題