首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ngx-bootstrap carousel在单击下一步/上一步按钮时丢失的悬停暂停

ngx-bootstrap carousel在单击下一步/上一步按钮时丢失的悬停暂停
EN

Stack Overflow用户
提问于 2018-04-17 22:15:34
回答 2查看 1.8K关注 0票数 0

我有一个angular5应用程序,它有一个页面实现了ngx-bootstrap carousel组件,它使用默认的noPause属性来暂停图像滚动操作,它工作得很好。

当我使用“下一步”或“上一步”按钮点击幻灯片时,幻灯片的自动滚动再次启动,这样每次单击轮播时,轮播就会跳过两个图像,所以鼠标在轮播上的事实被忽略了。

演示版本的旋转木马似乎有类似的问题(https://valor-software.com/ngx-bootstrap/#/carousel#pause-on-hover),但我不确定是否可以在单击幻灯片时重新设置noPause值?不确定是否有人知道这是否可能?

这是我对旋转木马的实现:

代码语言:javascript
复制
<carousel [noPause]="false">
  <slide *ngFor="let item of carouselItems">
    <img [src]="item.mediaFileURL | safeUrl" />
  </slide>
</carousel>

谢谢

EN

回答 2

Stack Overflow用户

发布于 2018-04-24 22:58:30

事实证明,carousel代码将在单击next/prev按钮时触发(mouseup)事件上的carousel的play()。因此,我可以在carousel周围添加一个包装器来覆盖事件,并运行carousel的pause()函数。

代码语言:javascript
复制
<div (mouseenter)="setPause()" (mouseleave)="setPlay()" (mouseup)="setPause()">

我可以通过在我的typescript文件中添加对competent的引用来运行carousel上的函数,方法是:

代码语言:javascript
复制
@ViewChild('carousel') carousel: CarouselComponent;

setPlay(): void {
    this.carousel.play();
}
setPause(): void {
    this.carousel.noPause = false;
    this.carousel.pause();
}

希望这能帮助到一些人。

票数 1
EN

Stack Overflow用户

发布于 2018-04-17 22:34:27

尝试activeSlideChange侦听滑块事件并将noPause设置为false

代码语言:javascript
复制
<carousel (activeSlideChange)="noPause = false" [noPause]="false">
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49880500

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档