作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用 Owl Carousel 2,并且我已经(并且想要)激活 mouseDrag 和 touchDrag。
但是,当我单击幻灯片中的任何内容时,owl 认为我拖动并更改了幻灯片,因此它会触发 onDragged 回调。不过,我没有更改幻灯片,我只是单击了幻灯片(“mousedown”、“mouseup”在DragStart 上触发)。
我希望能够执行某些操作,如果且仅当我通过拖动移动更改特定幻灯片时(例如:我从幻灯片 1 转到幻灯片 2)。更具体地说,我想阻止 onDragStart,除非我真的从一张幻灯片更改为另一张幻灯片。
我做错了什么?
最佳答案
你可以尝试类似的事情。在全局变量 (onDrag) 中存储幻灯片更改之前当前幻灯片的索引。幻灯片更改后(onTranslated)再次检查索引并查看索引是否仍然相同。如果不是 --> 幻灯片已更改。
此处列出了所有事件: http://www.owlcarousel.owlgraphic.com/docs/api-events.html
var indexBeforeChange = -1;
$(function () {
if ($('#slider .item').length > 1) {
$('#slider').owlCarousel({
onDrag: slideBeforeChange,
onTranslated: slideChanged
});
}
});
function slideBeforeChange(event) {
indexBeforeChange = event.page.index;
console.log('indexBeforeChange: ' + indexBeforeChange);
}
function slideChanged(event) {
var indexAfterChange = event.page.index;
if (indexAfterChange != indexBeforeChange) {
console.log('Slide changed, indexAfterChange: ' + indexAfterChange);
} else {
console.log('Slide did not change');
}
}
关于javascript - Owl Carousel 2 - 单击幻灯片时拖动事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35133072/
我是一名优秀的程序员,十分优秀!