0
私はそれを過ぎてスクロールしてそこに行くとアニメーション化するときに右下に移動するイメージを持っています。この部分は動作します。CSSアニメーションがクラスを削除するときにアニメーション化しない
私がスクロールアップすると、元の場所に戻って同じようにアニメーション化したいと思います。ここで私は助けが必要です。
トランジションなしで元の位置にジャンプするだけです。これを正しく動作させるにはどうすればよいですか?
var $window \t \t = $(window);
var $container \t \t = $('.container');
var containerTop \t = $container.offset().top;
$window.scroll(function() {
\t if($window.scrollTop() > containerTop) {
\t \t pullContainer();
\t } else {
\t \t revertContainer();
\t }
});
function pullContainer () {
\t $('.container').addClass('move');
\t console.log('pullContainer');
}
function revertContainer () {
\t $('.container').removeClass('move');
\t console.log('revertContainer');
}
#header, #content, #footer {
\t height: 75vh;
}
#header {
\t background: #ccc;
}
#content {
\t background: #666;
}
#footer {
\t background: #999;
}
.container {
\t position: static;
\t left: 0;
\t top: 0;
\t transition: all 1s ease;
}
.move{
\t position: fixed;
\t left: calc(100vw - 400px);
\t top: calc(100vh - 400px);
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="header"></div>
\t <div id="content">
\t \t <div class="container">
\t \t \t <img src="http://lorempixel.com/400/400" />
\t \t </div>
\t </div>
\t <div id="footer"></div>
。最初に位置の値を変えなければならないでしょう...そして、位置のプロパティを切り替える必要があります。 –
** 1 - ** .moveクラスから 'position'属性を削除します** 2 - ** .containerの位置を' static'から 'relative'に変更します –
私は@Paulie_Dに同意します。これを見てください:https://jsfiddle.net/84s4twer/ – Mojtaba