吸顶条

唯一要注意的是,当吸顶条吸顶也就是固定(position:fixed)到顶方时,吸顶条标签所占的位置会变成空,导致下面一个标签会替补上去,解救办法就是在吸顶条标签下方加一个弥补的.remedy标签,没有吸顶时remedy的display为none,吸顶时为block来填上去,这样就不会影响下一个p标签

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>吸顶条</title>
	<style type="text/css">
		.tiao{
			width: 100%;
			height: 40px;
			background:red;
		}
		.remedy{
			display:none;
			width:100%;
			height: 40px;
		}
	</style>
</head>
<body>
	<div>
		<p>1</p>
		<p>2</p>
		<p>3</p>
		<p>4</p>
		<p>5</p>
		<p>6</p>
		<p>7</p>
		<p>8</p>
		<p>9</p>
		<p>10</p>
		<p>11</p>
		<p>12</p>
		<p>13</p>
		<p>14</p>
		<p>15</p>
		<p>16</p>
		<p>17</p>
		<p>18</p>
		<p>19</p>
		<p>20</p>
		<p>21</p>
		<p>22</p>
		<p>23</p>
		<p>24</p>
		<p>25</p>
		<p>26</p>
		<p>27</p>
		<p>28</p>
		<p>29</p>
		<p>30</p>
		<div class="tiao"></div>
		<div class="remedy"></div>
		<p>1</p>
		<p>2</p>
		<p>3</p>
		<p>4</p>
		<p>5</p>
		<p>6</p>
		<p>7</p>
		<p>8</p>
		<p>9</p>
		<p>10</p>
		<p>11</p>
		<p>12</p>
		<p>13</p>
		<p>14</p>
		<p>15</p>
		<p>16</p>
		<p>17</p>
		<p>18</p>
		<p>19</p>
		<p>20</p>
		<p>21</p>
		<p>22</p>
		<p>23</p>
		<p>24</p>
		<p>25</p>
		<p>26</p>
		<p>27</p>
		<p>28</p>
		<p>29</p>
		<p>30</p>
	</div>

	<script type="text/javascript">
		var oTiao=document.querySelector('.tiao'),
			remedy=document.querySelector('.remedy');

		var tiaoTop=oTiao.offsetTop;  //获得吸顶标签的高度
		window.onscroll=function(){
		    //获得滚动的距离
			var scrollLength=document.documentElement.scrollTop||document.body.scrollTop;
			//当滚动条滚动到吸顶标签的位置时,标签固定即吸顶
			if(scrollLength>=tiaoTop){
				oTiao.style.cssText='position:fixed;top:0;left:0;width:100%';  //cssText添加css属性
				console.log('1');
				remedy.style.display='block';
				//值得注意的是,当滚动条吸顶时.tiao标签变成了定位,该标签就为空了,使得下一个标签会跳上来,所以可以在.tiao标签下面设置一个display为none的标签,当事件发生时来弥补.tiao标签
			}else{
				remedy.style.display='none';
				console.log('2')
				oTiao.style.cssText='';
			}
		}
	</script>
</body>
</html>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值