基于JS实现仿京东搜索栏随滑动透明度渐变效果

发布时间 - 2026-01-11 02:15:58    点击率:

废话不多说,直接上代码:

1、HTML

<header class="module-layer"> 
 <div class="module-layer-content"> 
  <div class="search-box-cover"></div> 
  <p class="layer-return"></p> 
  <h1 class="layer-head-name"> 
   <div class="pr search-box"> 
    <img class="shop-search" src="images/search.png"/> 
    <input id="shop-input" type="text" placeholder="搜索店内商品" value="" /> 
   </div> 
  </h1> 
  <p class="layer-share"></p> 
 </div> 
</header> 

其中search-box-cover就是控制透明度渐变的背景

2、css

.module-layer { 
 width:100%; 
 position:fixed; 
 top:0; 
 left:0; 
 z-index:100000; 
} 
.module-layer-content { 
 position:relative; 
 min-width:320px; 
 max-width:750px; 
 width:100%; 
 margin:0 auto; 
} 
.module-layer-bg { 
 width:100%; 
 height:100%; 
 background:#000; 
 opacity:.7; 
 position:absolute; 
 top:0; 
 left:0; 
 z-index:-1; 
} 
.layer-head-name { 
 height:50px; 
 line-height:50px; 
 text-align:center; 
 padding:0 50px; 
 font-size:20px; 
} 
.layer-return,.layer-share { 
 width:50px; 
 height:50px; 
 line-height:50px; 
 text-align:center; 
 position:absolute; 
 top:0; 
 z-index:1; 
} 
.layer-return { 
 left:0; 
} 
.layer-share { 
 right:0; 
} 
.pr { 
 position:relative; 
} 
#shop-input::-webkit-input-placeholder { 
 color:#fff; 
} 
#shop-input:-moz-placeholder { 
 color:#fff; 
} 
#shop-input::-moz-placeholder { 
 color:#fff; 
} 
#shop-input:-ms-input-placeholder { 
 color:#fff; 
} 
#shop-input { 
 border:none; 
 outline:none; 
 background:transparent; 
} 
.search-box { 
 height:30px; 
 border-radius:20px; 
 top:10px; 
 overflow:hidden; 
 z-index:10; 
} 
.search-box:after { 
 content:''; 
 display:block; 
 width:100%; 
 height:30px; 
 background:#fff; 
 opacity:.5; 
 position:absolute; 
 top:0; 
 left:0px; 
 z-index:-1; 
} 
#shop-input { 
 height:28px; 
 line-height:28px; 
 font-size:16px; 
 position:absolute; 
 top:0; 
 left:30px; 
} 

3、js

$(function(){ 
 var $body = $('body'); 
 var setCoverOpacity = function() { 
  $body.find('.search-box-cover').css({ 
   opacity: ((($body.scrollTop() / 150) > 0.9) ? 0.9 : ($body.scrollTop() / 150)) 
  }) 
 } 
//初始化设置背景透明度 
 setCoverOpacity(); 
//监听滚动条事件,改变透明度 
 $(window).scroll(function() { 
  setCoverOpacity(); 
 }); 
})

最终效果:


注意:

特别注意的一条:强制刷新,会导致页面的重新加载,所以动态加入的css样式不会存在,那么对透明背景的初始化非常重要,在网页端用户强制刷新,才不会失去透明效果。

1、

((($body.scrollTop() / 150) > 0.9) ? 0.9 : ($body.scrollTop() / 150)) 

此三目表达式是判断当前滚动条位置所在位置,如果位置值除以150大于0.9,就返回0.9,反之就返回那个小于等于0.9的值,将返回的值设置为背景的透明度就完成了。

2、由于滚动条的位置是动态获取的,所以设置透明度会不停改变,不用单独再做渐变的动画效果。

3、最终透明度问题,京东在最终背景设置的是0.9,所以本案例也采用的0.9,同时体验效果会更好。

4、滚动条位置导致的渐变,将150设置更大,渐变的距离会更长。

以上所述是小编给大家介绍的基于JS实现仿京东搜索栏随滑动透明度渐变效果,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!


# js  # 搜索栏滑动透明度渐变  # 推荐js实现商品分类到搜索栏友好提示(人机交互)  # js实现搜索栏效果  # 滚动条  # 小编  # 的是  # 京东  # 在此  # 更大  # 给大家  # 非常重要  # 多说  # 设置为  # 再做  # 所述  # 给我留言  # 店内  # 更长  # 感谢大家  # 疑问请  # 有任何  # 完成了  # 加载 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: Laravel PHP版本要求一览_Laravel各版本环境要求对照  如何用VPS主机快速搭建个人网站?  重庆市网站制作公司,重庆招聘网站哪个好?  香港服务器网站生成指南:免费资源整合与高速稳定配置方案  北京专业网站制作设计师招聘,北京白云观官方网站?  如何快速查询网站的真实建站时间?  图片制作网站免费软件,有没有免费的网站或软件可以将图片批量转为A4大小的pdf?  香港服务器建站指南:免备案优势与SEO优化技巧全解析  专业型网站制作公司有哪些,我设计专业的,谁给推荐几个设计师兼职类的网站?  php打包exe后无法访问网络共享_共享权限设置方法【教程】  Laravel storage目录权限问题_Laravel文件写入权限设置  如何为不同团队 ID 动态生成多个独立按钮  黑客如何利用漏洞与弱口令入侵网站服务器?  JavaScript如何实现倒计时_时间函数如何精确控制  如何在腾讯云免费申请建站?  标准网站视频模板制作软件,现在有哪个网站的视频编辑素材最齐全的,背景音乐、音效等?  用yum安装MySQLdb模块的步骤方法  浅谈Javascript中的Label语句  LinuxCD持续部署教程_自动发布与回滚机制  网站制作公司哪里好做,成都网站制作公司哪家做得比较好,更正规?  Midjourney怎么调整光影效果_Midjourney光影调整方法【指南】  php后缀怎么变mp4格式错误_修改扩展名提示格式不对怎么办【技巧】  Laravel怎么集成Log日志记录_Laravel单文件与每日日志配置及自定义通道【详解】  HTML 中如何正确使用模板变量为元素的 name 属性赋值  电商网站制作价格怎么算,网上拍卖流程以及规则?  使用spring连接及操作mongodb3.0实例  如何为不同团队 ID 动态生成多个“认领值班”按钮  Laravel任务队列怎么用_Laravel Queues异步处理任务提升应用性能  如何快速登录WAP自助建站平台?  Laravel怎么判断请求类型_Laravel Request isMethod用法  Laravel怎么在Controller之外的地方验证数据  网站制作大概要多少钱一个,做一个平台网站大概多少钱?  实现点击下箭头变上箭头来回切换的两种方法【推荐】  如何在万网开始建站?分步指南解析  微信小程序 canvas开发实例及注意事项  专业企业网站设计制作公司,如何理解商贸企业的统一配送和分销网络建设?  如何快速辨别茅台真假?关键步骤解析  nginx修改上传文件大小限制的方法  如何在宝塔面板创建新站点?  作用域操作符会触发自动加载吗_php类自动加载机制与::调用【教程】  如何用美橙互联一键搭建多站合一网站?  如何制作公司的网站链接,公司想做一个网站,一般需要花多少钱?  利用 Google AI 进行 YouTube 视频 SEO 描述优化  PHP正则匹配日期和时间(时间戳转换)的实例代码  Laravel如何记录日志_Laravel Logging系统配置与自定义日志通道  javascript和jQuery中的AJAX技术详解【包含AJAX各种跨域技术】  Laravel如何配置和使用队列处理异步任务_Laravel队列驱动与任务分发实例  Laravel如何与Pusher实现实时通信?(WebSocket示例)  电商网站制作多少钱一个,电子商务公司的网站制作费用计入什么科目?  php中::能调用final静态方法吗_final修饰静态方法调用规则【解答】