JavaScript 图片随滚轮浮动居左是指当用户滚动网页时,图片会根据滚动的距离动态调整其位置,使其始终保持在视口的左侧。
以下是一个简单的示例,展示如何使用JavaScript和CSS实现图片随滚轮浮动居左的效果:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Image Float Left on Scroll</title>
<style>
body {
height: 2000px; /* 设置一个较大的高度以便测试滚动效果 */
}
.float-left {
position: fixed;
left: 0;
top: 50%;
transform: translateY(-50%);
width: 100px;
height: 100px;
}
</style>
</head>
<body>
<img src="your-image-url.jpg" alt="Floating Image" class="float-left">
<script>
window.addEventListener('scroll', function() {
const img = document.querySelector('.float-left');
const scrollTop = window.pageYOffset || document.documentElement.scrollTop;
img.style.top = `${scrollTop + window.innerHeight / 2}px`;
});
</script>
</body>
</html>.float-left 类设置了图片为固定定位(position: fixed),使其相对于视口固定位置。left: 0 确保图片始终在视口的左侧。top: 50% 和 transform: translateY(-50%) 将图片垂直居中。window.addEventListener('scroll', ...))。scrollTop),并动态调整图片的 top 属性,使其始终保持在视口的中间位置。requestAnimationFrame 来优化滚动事件的处理,减少不必要的重绘和回流。requestAnimationFrame 来优化滚动事件的处理,减少不必要的重绘和回流。window.pageYOffset 和 document.documentElement.scrollTop 的组合来确保兼容性。通过以上方法,可以有效实现图片随滚轮浮动居左的效果,并解决可能遇到的问题。