知识点:
监听浏览器滚动: $().scroll([[data],fn])
当用户滚动指定的元素时,会发生 scroll 事件。 scroll 事件适用于所有可滚动的元素和 window 对象(浏览器窗口)
获取匹配元素相对滚动条顶部的偏移:$().scrollTop([val])
无参数描述: 获取第一段相对滚动条顶部的偏移
参数val 描述: 设置相对滚动条顶部的偏移
获取匹配元素相对滚动条左侧的偏移:$().scrollLeft([val])
无参数描述: 获取第一段相对滚动条左侧的偏移
参数val 描述: 设置相对滚动条左侧的偏移
案例:根据检测滚动距离然后显示搜索框
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>1.22 获取滚动值案例</title> <script src="https://lib.baomitu.com/jquery/3.3.1/jquery.min.js"></script> <style> *{margin: 0;padding: 0;} .content{width: 980px;margin: 0 auto;height: auto;overflow: hidden;} .head{line-height: 50px;height: auto;overflow: hidden;min-height: 800px;background: url('imgs/dm.jpg') center 50px no-repeat;} .nav{position: fixed;top: 0;left: 0;width: 100%;background: #fff;} .nav .logo{text-decoration: none;color: #676570;font-size: 30px;float: left;} .nav ul{float: right;} .nav li{float: left;list-style: none;} .nav li a{display: block;padding: 0 10px;text-decoration: none;color: #7042b5;} .nav li a:hover{color: #676570;} .search{text-align: center;background: rgba(112, 66, 187, 0.3);padding: 10px 0;display: none;} .search form{border-radius: 15px;background: #fff;width: 250px;margin: 0 auto;height: 30px;overflow: hidden;} .search input,.search button{border: none;height: 30px;line-height: 30px;padding: 0 10px;} .search input{float: left;outline: none;} .search button{float: right;background: #7042b5;color: #fff;text-align: center;outline: none;} .container .content{min-height: 500px;background: lightgray;} </style> </head> <body> <div class="head"> <div class="nav"> <div class="content"> <a href="" class="logo"><b>LOGO</b></a> <ul> <li><a href="">HOME</a></li> <li><a href="">NEWS</a></li> <li><a href="">ABOUT</a></li> <li><a href="">CONACT</a></li> </ul> </div> <div class="search"> <form action=""> <input type="text" placeholder="请输入关键词"><button>全网搜</button> </form> </div> </div> </div> <div class="container"> <div class="content"></div> </div> <script> $(function () { $(window).scroll(function(){ if($(window).scrollTop() > 50){ $('.nav .content').slideUp(); $('.nav .search').slideDown(); }else{ $('.nav .content').slideDown(); $('.nav .search').slideUp(); } }) }) </script> </body> </html>
效果图前:
效果图后: