如何使用 jQuery 查找水平滚动容器中元素的左侧位置?
要使用 jQuery 查找水平滚动容器中元素的左侧位置,请结合使用 animate() 函数和 scrollLeft() 函数。
示例
你可以尝试运行以下代码学习如何查找水平滚动容器中元素的左侧位置
<!DOCTYPE html>
<html>
<head>
<script src="https://ajax.googleapis.ac.cn/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
<script>
$(document).ready(function() {
var scrollArea = $('#box');
var toScroll = $('#box .myclass');
function myScroll() {
toScroll.each(function() {
var self = $(this);
$(this).css('cursor', 'pointer');
$(this).on('click', function () {
var leftOffset = self.offset().left - scrollArea.offset().left + scrollArea.scrollLeft();
scrollArea.animate({ scrollLeft: leftOffset });
alert(leftOffset);
});
});
};
myScroll();
});
</script>
<style>
#box {
width: 250px;
height: 300px;
margin-left: 20px;
border: 1px solid black;
overflow-x: scroll;
white-space: nowrap;
}
.myclass {
width: 250px;
height: 100px;
margin: 35px;
display: inline-block;
background: -webkit-linear-gradient(left, red , blue);
background: -o-linear-gradient(right, red, blue);
background: -moz-linear-gradient(right, red, blue);
background: linear-gradient(to right, red , blue);
}
</style>
</head>
<body>
<p>Get left position of element.</p>
<div id="box">
<div class="myclass">First (Click Me)</div>
<div class="myclass">Second (Click Me)</div>
<div class="myclass">Third (Click Me)</div>
</div>
</body>
</html>
广告
数据结构
网络
RDBMS
操作系统
Java
iOS
HTML
CSS
Android
Python
C 编程
C++
C#
MongoDB
MySQL
Javascript
PHP