次の問題。inview.jsを使用してビューポートにある場合、すべてのdivにクラスを追加する長いスクロールページがあります
var $div1 = $('#div1');
var $div2 = $('#div2');
//.....
var only_once = 0;
$('#div1, #div2, #div3, #div4, #div5').bind('inview', function (event, visible)
{
if (visible == true) {
$(this).addClass("inview");
} else {
$(this).removeClass("inview");
}
});
いくつかのイベントを実行するクラス im を追加すると、inview が最初に起動されてから停止した場合に何かが発生する if 条件が追加されます。only_onceを1に切り替えて試してみました。
if($div1.hasClass("inview")){
// here some functions...
if (only_once == 0) {
$('.float-second').css('left', 0);
$('.float-second').css('top', 0);
only_once = 1;
}
if($div2.hasClass("inview")){
// here some functions...
if (only_once == 1) {
$('.float-third').css('left', 0);
$('.float-third').css('top', 0);
only_once = 2;
}
// and this for the other divs too
問題は、私がこのようにすると、サイトが中央または下部にロードされたときに起動せず、if条件が前の値のために最初のイベントを必要とするため、上下にスクロールすることです。私の主張を理解していただければ幸いです。どうすればこの作業をうまく行うことができますか?