问题描述
我正在尝试构建两个滑块,当鼠标滚轮事件被触发时,它们将水平滚动(以相反的方向)。
如您在这里看到的,使用带有以下配置的Swiper API相当容易:
var swiper = new Swiper('.row-top',{
freeMode: true,slidesPerView: 4,preloadImages: true,lazy: true,loop: true,mousewheel: {
invert: true,eventsTarget: 'body'
},});
var swiper = new Swiper('.row-bottom',mousewheel: {
invert: false,});
在这里您可以看到它的魅力: https://jsfiddle.net/sx0mc9po/
我使用鼠标滚轮选项eventsTarget: 'body'
,以便滚动事件将在页面上的任何位置触发。
在Angular中,我使用ngx-swiper-wrapper
作为指令,并且Swiper可以正常工作:
<div class="swiper-controller">
<div class="swiper-container row-top" [swiper]="configTop">
<div class="swiper-wrapper">
<div class="swiper-slide">Slide 1</div>
<div class="swiper-slide">Slide 2</div>
<div class="swiper-slide">Slide 3</div>
<div class="swiper-slide">Slide 4</div>
<div class="swiper-slide">Slide 5</div>
<div class="swiper-slide">Slide 6</div>
<div class="swiper-slide">Slide 7</div>
<div class="swiper-slide">Slide 8</div>
<div class="swiper-slide">Slide 9</div>
</div>
</div>
<div class="swiper-container row-bottom" [swiper]="configBottom">
<div class="swiper-wrapper">
<div class="swiper-slide">Slide 1</div>
<div class="swiper-slide">Slide 2</div>
<div class="swiper-slide">Slide 3</div>
<div class="swiper-slide">Slide 4</div>
<div class="swiper-slide">Slide 5</div>
<div class="swiper-slide">Slide 6</div>
<div class="swiper-slide">Slide 7</div>
<div class="swiper-slide">Slide 8</div>
<div class="swiper-slide">Slide 9</div>
</div>
</div>
</div>
配置与上述相同。但是Angular完全忽略了该选项
mousewheel: {
...
eventsTarget: 'body'
},
我的鼠标指针必须悬停在滑行容器上,否则它将不会滚动任何容器。 由于有两个滑动器容器,因此只滚动一个。
我不确定这是Bug还是Angular不允许在此组件的body
上放置侦听器。
如果可以的话,有什么解决方法吗?或者我缺少什么?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)