enter image description here我的代码中有owl-carousel,当我将鼠标悬停在一个图像上时,图像会放大,我想添加的是,当您将鼠标悬停在活动项目上时,使非活动项目分散开。
这是我试过的代码,但它不工作:
items.forEach((item, index) => {
item.addEventListener('mouseenter', () => {
items.forEach((item, i) => {
if (i !== index) {
item.style.marginRight = '50px';
} else {
item.style.marginRight = '30px';
}
});
});
item.addEventListener('mouseleave', () => {
items.forEach((item) => {
item.style.marginRight = '10px';
});
});
});
轮播代码只是一个简单代码:
x一个一个一个一个x一个一个二个一个x一个一个三个一个
附上的图片是我想要达到的结果
1条答案
按热度按时间uttx8gqw1#
花了几分钟重新考虑这一点;owl插件做了一些 Package 和其他有趣的事情来操作DOM,所以我们必须处理它。它用类
own-item
Package 父元素,这样我们就得到了悬停项的父元素,然后处理该父元素的兄弟元素。由于样式的原因,我们不能添加左/右边距,因为这会使整个carousel奇怪地缠绕,我们必须使用
transformX
。我通过向我们要操作的CSS的每个父兄弟节点添加一个data属性来实现这一点。这可能不完全是您想要的直接.next(hoverthing)
和prev兄弟间距,但我相信您可以从中添加任何您需要的内容还有那些。