jQuery offset方法、position方法和scroll相关方法

jQuery offset方法、position方法和scroll相关方法

offset方法和position方法

offset方法
原生js的三大家族 offset家族 scroll家族 client家族
offset家族 :
offsetWidth
offsetHeight
offsetLeft
offsetTop
offsetParent

offset方法获取到的是一个对象 这里的offset方法 和原生的offset家族不一样,里面是left和top的键值对 获取到的是元素距离document的距离

调用offset方法 获取返回值
jquery对象.offset()

console.log($("#son").offset());

可以进行设置 设置的值是一个对象 里面包含left top值

 $("#son").offset({
		left:200,
		 top:200
})

需要注意的是 当我们的子元素没有定位的时候 那么给元素设置offset(调用offset方法) 就会给这个元素添加一个相对定位

jquery对象.offset(设置的属性构成的对象)

position方法

获取到的值还是一个对象 里面也是left和top的键值对
jQuery对象.position()

 console.log($("#son").position());

position不能进行设置

$("#son").position({
				   left:200,
				   top:200
			   })

获取到的是元素相对于定父级的距离

scroll相关方法

jquery对应的scrollLeft() scrollTop()
和原生js里面scrollLeft和scrollTop属性是一样的 都是获取内容滚动出去的距离
jQuery对象.scrollLeft()
jQuery对象.scrollTop()

 console.log($("#one").scrollLeft())
 console.log($("#one").scrollTop())

设置滚动出去的距离
jQuery对象.scrollLeft(属性值)
jQuery对象.scrollTop(属性值)

$("#one").scrollLeft(100);
$("#one").scrollTop(100);
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
为了设计一个jQuery导航栏,可以使用以下步骤: 1. 首先,在HTML文件中创建一个导航栏的基本结构,例如一个`<nav>`元素和一些`<a>`元素作为导航链接。 2. 使用CSS样式来设置导航栏的外观,例如设置背景颜色、字体大小、边框等。 3. 使用jQuery来实现导航栏的交互效果,例如当用户滚动页面时,导航栏会固定在页面顶部。 4. 在jQuery中使用`scrollTop()`和`offset().top`方法来检测页面滚动位置,并使用`addClass()`和`removeClass()`方法来添加或删除CSS类来实现导航栏的固定效果。 以下是一个简单的jQuery导航栏的示例代码: ```html <!DOCTYPE html> <html> <head> <title>jQuery Navigation Bar Example</title> <style> nav { background-color: #333; overflow: hidden; position: fixed; top: 0; width: 100%; } nav a { float: left; color: white; text-align: center; padding: 14px 16px; text-decoration: none; font-size: 17px; } nav a:hover { background-color: #ddd; color: black; } .active { background-color: #4CAF50; color: white; } </style> <script src="https://code.jquery.com/jquery-3.6.0.min.js"></script> <script> $(document).ready(function() { // 获取导航栏的初始位置 var navOffset = $("nav").offset().top; // 当页面滚动时,检测导航栏是否应该固定 $(window).scroll(function() { if ($(document).scrollTop() >= navOffset) { $("nav").addClass("fixed"); } else { $("nav").removeClass("fixed"); } }); // 当用户点击导航链接时,添加active类来突出显示当前链接 $("nav a").click(function() { $("nav a").removeClass("active"); $(this).addClass("active"); }); }); </script> </head> <body> <nav> <a href="#" class="active">Home</a> <a href="#">About</a> <a href="#">Contact</a> </nav> <div style="height: 1000px;"></div> </body> </html> ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值