Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 双向鼠标滚轮滑块在角度上使用Swiper_Javascript_Angular_Swiper_Ngx Swiper Wrapper - Fatal编程技术网

Javascript 双向鼠标滚轮滑块在角度上使用Swiper

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,

我正在尝试构建两个滑块,当鼠标滚轮事件被触发时,它们将水平滚动(方向相反)

如您所见,通过以下配置使用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', {
    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'
},