ビューポートが特定の幅よりも大きい場合にのみWayPointを実行する方法はありますか?好ましくは、その幅がサイズ変更されるかどうかを確認するビューポートの幅が1000pxより大きい場合にのみWayPointを実行しますか?
通常はこのままにしておきますが、4つのセクションがあり、それらが表示されるときには.in-view
のクラスを追加してdiv内をアニメーション化できます。問題は(私は)モバイルでは私のセクションがスライドショー(Slickスライダ)で表示されるので、.slick-current
に同じアニメーション/トランジションスタイリングがあり、時には機能しないことがあります。なぜなら、要素を.in-view
に設定している可能性が高いからです?
$(document).ready(function(){
var waypoints = document.querySelectorAll('.showcase__item');
for (var i = waypoints.length - 1; i >= 0; i--) {
var waypoint = new Waypoint({
element: waypoints[i],
handler: function(direction) {
this.element.classList.toggle('in-view');
},
offset: '60%',
});
}
});
...この可能ですそれも良いアイデアです:
これは私が使用しているコードはありますか?これがパフォーマンスにどのようにストレスを与えるのか分かりませんか?
おかげで男を、私はこれを試してみますよ!すでに追加されているクラスは削除されますか?私はそうは思わないが、それは大したことではない! – user1406440
ウィンドウがサイズ変更されるたびに(またはDOM内の要素)、ピクセルごとに(いくつかのパディングがありますが...)、このイベントが発生します。この場合、ウィンドウが1020から1040にリサイズされた場合、ウィンドウの幅がすでに1000ピクセルを超えていたとしても、20回近く呼び出されます。だから、プラグインを何度も何度も再初期化します。それは使用できません –
私はコンソールが開かれるまで、クラスは何もしないように見えました。私がそれを閉じたとき、すべてが再び消えました - 多くのdivには 'opacity:0;'があります。そのため、クラスが追加されたときだけ表示されます。 :/ – user1406440