css3+jquery鼠标悬停触发循环高亮
我们要实现的效果是:当鼠标悬停在某个元素上时,该元素以及其相邻元素会依次高亮显示,形成一种循环的效果。这可以通过CSS3的动画和jQuery的事件监听来实现。
<div class="highlight-container">
<div class="highlight-item">元素1</div>
<div class="highlight-item">元素2</div>
<div class="highlight-item">元素3</div>
</div>
.highlight-container {
display: flex;
justify-content: center;
align-items: center;
}
.highlight-item {
width: 100px;
height: 50px;
background-color: #f0f0f0;
margin: 10px;
transition: background-color 0.5s ease-in-out;
}
.highlight-item.active {
background-color: #4CAF50; /* 高亮颜色 */
}
$(document).ready(function() {
const items = $('.highlight-item');
let currentIndex = 0;
items.hover(function() {
// 鼠标移入时,清除所有元素的active类,然后给当前元素和下一个元素添加active类
items.removeClass('active');
$(this).addClass('active');
currentIndex = items.index(this);
const nextIndex = (currentIndex + 1) % items.length;
items.eq(nextIndex).addClass('active');
}, function() {
// 鼠标移出时,清除所有元素的active类
items.removeClass('active');
});
});
highlight-item
类的子元素。highlight-item
元素。active
类。active
类。active
类。animation
属性创建更复杂的动画效果。通过以上代码,我们实现了鼠标悬停触发循环高亮的效果。你可以根据自己的需求进行修改和扩展,创建出更丰富的交互效果。
更多优化建议:
如果你有其他问题或需要更深入的定制,欢迎继续提问。
想尝试其他效果吗? 我们可以一起探索更多有趣的交互方式,例如:
欢迎提出你的想法!