-webkit-transform translateX横向滑动的,然后获取在当前屏幕区间内的标签 具体代码
时间: 2024-10-07 20:07:42 浏览: 25
在Web开发中,如果你想在CSS `-webkit-transform: translateX()` 实现水平滑动,并同时筛选出在当前屏幕可见范围内的标签,你需要结合窗口滚动位置和元素的`offsetLeft`(偏移量)。下面是一个简单的示例,使用JavaScript配合CSS:
```html
<!-- HTML -->
<div id="scrollable-element" class="slide-container">
<!-- 你的列表项,每个都有一个data-id属性 -->
<div data-id="1">标签1</div>
<div data-id="2">标签2</div>
<!-- 更多... -->
</div>
<script>
// JavaScript
window.addEventListener('scroll', function() {
var container = document.getElementById('scrollable-element');
var visibleItems = [];
// 获取容器宽度和窗口宽度
var containerWidth = container.offsetWidth;
var windowWidth = window.innerWidth;
// 获取当前滚动位置
var scrollTop = window.pageYOffset || document.documentElement.scrollTop;
// 计算滚动到的位置
var scrollLeft = window.pageXOffset || document.documentElement.scrollLeft;
// 遍历所有元素
var elements = container.querySelectorAll('div[data-id]');
for (var i = 0; i < elements.length; i++) {
var element = elements[i];
var elementLeft = element.offsetLeft;
// 判断元素是否在视口中
if (elementLeft >= scrollLeft && elementLeft <= scrollLeft + windowWidth - containerWidth) {
// 如果在可视区域内,添加到visibleItems数组
visibleItems.push(element);
}
}
// 对可视区域内的标签做进一步操作...
});
</script>
```
这段代码会在用户滚动时更新`visibleItems`数组,包含了当前屏幕上可见的部分。
阅读全文