成功:次のコードが機能します。 divが表示にスクロールすると、css(表示、アニメーションなど)が有効になります。ビューから外してください:ビューで一度トリガーしないでください
問題:私はそれを1回だけトリガしたい(私はそれを過ぎてスクロールするときに再び隠れるかリセットしたくない)。あなたが提供することができますどのような援助がいただければ幸いです
;(function($) {
$.outOfView = {
init: function() {
$("[data-outofview]").css('transition', 'none').addClass('outofview');
window.setTimeout(function(){
$("[data-outofview]").css('transition', '');
$.outOfView.scroll();
}, 100);
}
, scroll: function() {
var $window = $(window)
, scrolled = $(window).scrollTop()
, windowHeight = $(window).height();
$("[data-outofview].outofview").each(function() {
var $this = $(this)
, dataCoefficient = $(this).data('outofview-coefficient')
, coefficient = dataCoefficient ? parseInt(dataCoefficient, 10)/100 : 1
, windowHeightPadded = windowHeight * coefficient
, offsetTop = $this.offset().top
, offsetBottom = offsetTop + $this.outerHeight() * coefficient;
// If the distance from the bottom of the element to the top of the document
// is greater than the distance from the top of the window to the top of the
// document, OR the distance from the top of the element is less than the distance
// from the bottom of the window to the top of the document... remove the class.
// The element is in view.
if (scrolled < offsetBottom || scrolled + windowHeightPadded > offsetTop) {
if ($this.data('outofview-timeout')) {
window.setTimeout(function() {
$this.removeClass('outofview');
}, parseInt($this.data('outofview-timeout'), 10));
} else {
$this.removeClass('outofview');
}
}
});
// Hidden...
$("[data-outofview]:not(.outofview)").each(function() {
var $this = $(this)
, dataCoefficient = $(this).data('outofview-coefficient')
, coefficient = dataCoefficient ? parseInt(dataCoefficient, 10)/100 : 1
, windowHeightPadded = windowHeight * coefficient
, offsetTop = $this.offset().top
, offsetBottom = offsetTop + $this.outerHeight() * coefficient;
// If the distance from the bottom of the element to the top of the document
// is less than the distance from the top of the window to the top of the
// document, OR the distance from the top of the element is greater than the distance
// from the bottom of the window to the top of the document... add the class.
// The element is out of view.
if (scrolled > offsetBottom || scrolled + windowHeightPadded < offsetTop) {
$(this).addClass('outofview');
}
});
}
};
// Reveal animations as they appear on screen
$(window).on('scroll', $.outOfView.scroll);
$.outOfView.init();
})(jQuery);
:
は、ここでは、コードです。以前はコードをカスタマイズしていましたが、私は専門家ではありません。
**フラグ**の値を 'false'にして、**フラグ**の値を' true'に変更し、コード内の同じ条件をチェックします。 – Shiladitya
これは有望なShiladityaと聞こえる。私はまだjQueryの初心者です。コード内でどのように見えるでしょうか? – user7498278