Javascript 双向鼠标滚轮滑块在角度上使用Swiper
我正在尝试构建两个滑块,当鼠标滚轮事件被触发时,它们将水平滚动(方向相反) 如您所见,通过以下配置使用Swiper API非常容易:Javascript 双向鼠标滚轮滑块在角度上使用Swiper,javascript,angular,swiper,ngx-swiper-wrapper,Javascript,Angular,Swiper,Ngx Swiper Wrapper,我正在尝试构建两个滑块,当鼠标滚轮事件被触发时,它们将水平滚动(方向相反) 如您所见,通过以下配置使用Swiper API非常容易: var swiper = new Swiper('.row-top', { freeMode: true, slidesPerView: 4, preloadImages: true, lazy: true, loop: true, mousewheel: { invert: true,
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', {
freeMode: true,
slidesPerView: 4,
preloadImages: true,
lazy: true,
loop: true,
mousewheel: {
invert: false,
eventsTarget: 'body'
},
});
正如你在这里看到的,它就像一个符咒:
我使用鼠标滚轮选项eventsTarget:'body'
,这样,滚动事件将在页面上的任何位置触发
在Angular中,我使用ngx swiper包装器作为指令,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>
我的鼠标指针必须悬停在swiper容器上,否则它不会滚动任何容器。
因为有两个swiper容器,所以它只滚动一个
我不确定这是一个bug还是Angular不允许从该组件将侦听器放在body
上。
如果是这样,是否有任何解决方法或我遗漏了什么
mousewheel: {
...
eventsTarget: 'body'
},