css
-
css(name|pro)
访问匹配元素的样式属性。
$("p").css("color");
$("p").css({
"color": "#ff0011",
"background": "blue" });
$("p").css("color","red");
位置
<style>
*{
margin: 0px;
}
.box1{
width: 400px;
height: 400px;
background-color: lightblue;
position: relative;
left: 50px;
top: 50px;
}
.box2{
width: 100px;
height: 100px;
background-color: lightskyblue;
position: absolute;
top: 100px;
left: 100px;
}
</style>
<script type="text/javascript" src="https://cdn.bootcdn.net/ajax/libs/jquery/3.6.0/jquery.js"></script>
</head>
<body>
<div class="box1">
<div class="box2"></div>
</div>
</body>
-
offset([coordinates])
用于设置或返回当前匹配元素相对于当前文档的偏移,也就是相对于当前文档的坐标。该函数值对可见元素有效。返回{top,left}对象
// 获取偏移量
<script type="text/javascript">
$(function(){
var offset1 = $('.box1').offset()
console.log(`box1: left:${offset1.left}px,top:${offset1.top}px`);
var offset2 = $('.box2').offset()
console.log(`box2: left:${offset2.left}px,top:${offset2.top}px`);
})
</script>
$('.box1').offset({
top: 200,
left: 100
})

-
position()
获取匹配元素相对父元素的偏移。返回{top,left}对象
<script type="text/javascript">
$(function(){
var position2 = $('.box2').position()
console.log(`box2: left:${position2.left}px,top:${position2.top}px`);
})
</script>
$('.box2').position({
top: 100,
left: 100
})

-
scrollTop([val])
获取匹配元素相对滚动条顶部的偏移
console.log($('div').scrollTop());
console.log($('html').scrollTop() + $('body').scrollTop());
console.log($(document.documentElement).scrollTop()+$(document.body).scrollTop());
$('div').scrollTop(200);
$('html, body').scrollTop(300);
常见效果之平滑滚动到顶部

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>平滑滚动到顶部</title>
<style>
* {
margin: 0px;
}
body {
height: 10000px;
}
#to_top {
width: 40px;
height: 40px;
text-align: center;
background-color: lightskyblue;
cursor: pointer;
position: fixed;
bottom: 50px;
right: 100px;
}
</style>
<script type="text/javascript" src="https://cdn.bootcdn.net/ajax/libs/jquery/3.6.0/jquery.js"></script>
<script type="text/javascript">
$(function () {
$('#to_top').click(function () {
let $page = $('html, body')
let distance = $('html').scrollTop() + $('body').scrollTop();
let time = 1000;
let intervalTime = 50;
let itemDistance = distance / (time / intervalTime);
let intervalId = setInterval(function () {
distance -= itemDistance;
if (distance <= 0) {
distance = 0;
clearInterval(intervalId);
}
$page.scrollTop(distance);
}, intervalTime)
})
})
</script>
</head>
<body>
<div id="to_top">返回顶部</div>
</body>
</html>