vue.js勉強中で、パララックスを作成したいのです。
1個のときは真偽値の値(fadeActive)でクラスをつけるかどうか分岐させることができましたが、複数要素がある時はその方法が使えないためどのように対応すればいいか分かりません。
ご回答よろしくおねがいします。
html
1<div class="box fadeUpTrigger" v-scroll="handleScroll" v-bind:class="{ fadeUp: fadeActive}">要素01</div> 2<div class="box fadeUpTrigger" v-scroll="handleScroll" v-bind:class="{ fadeUp: fadeActive}">要素02</div> 3<div class="box fadeUpTrigger" v-scroll="handleScroll" v-bind:class="{ fadeUp: fadeActive}">要素03</div>
js
1Vue.directive("scroll",{ 2 inserted:function(el,binding){ 3 let f = function(evt){ 4 binding.value(evt,el); 5 // if(binding.value(evt,el)){ 6 // window.removeEventListener("scroll",f); 7 // } 8 } 9 window.addEventListener("load",f); 10 window.addEventListener("scroll",f); 11 } 12}); 13 14var vm = new Vue({ 15 el:"#app", 16 data:{ 17 fadeActive:false 18 }, 19 methods: { 20 handleScroll: function (evt, el) { 21 if (window.scrollY > el.offsetTop - 50) { 22 this.fadeActive = true; 23 } 24 } 25 }, 26 created(){ 27 // window.addEventListener("load", this.handleScroll("","")); 28 } 29});
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。