基于JavaScript实现熔岩灯效果导航菜单

发布时间 - 2026-01-10 22:18:18    点击率:

熔岩灯效果 就是鼠标移入的时候,背景跟着滑过去~

两方法如下:

方法一:两个文件,一个HTML,一个JS。

HTML源码,

<!DOCTYPE html> 
<html> 
<head> 
 <meta charset="utf-8"> 
 <meta http-equiv="X-UA-Compatible" content="IE=edge"> 
 <meta name="viewport" content="width=device-width, initial-scale=1"> 
 <!-- 
 <link href="favicon.ico" rel="shortcut icon" type="image/x-icon" /> 
 <link href="favicon.ico" rel="Bookmark" type="image/x-icon" /> 
 --> 
 <meta name="Generator" content="EditPlus®"> 
 <meta name="Author" content=""> 
 <meta name="Keywords" content=""> 
 <meta name="Description" content=""> 
 <title>Document</title> 
 <link href="" rel="stylesheet" /> 
 <style type="text/css"> 
  #nav { 
   position: relative; 
   background: #292929; 
   float: left; 
  } 
  #nav li { 
   float: left; 
   list-style: none; 
   border-right: 1px solid #4a4a4a; 
   border-left: 1px solid black; 
  } 
  #nav li a { 
   color: #e3e3e3; 
   position: relative; 
   z-index: 2; 
   float: left; 
   font-size: 30px; 
   font-family: helvetica, arial, sans-serif; 
   text-decoration: none; 
   padding: 30px 45px; 
  } 
  ul, li { 
   margin: 0; padding: 0; 
  } 
  #blob { 
   border-right: 1px solid #0059ec; 
   border-left: 1px solid #0059ec; 
   position: absolute; 
   top: 0; 
   z-index : 1; 
   background: #0b2b61; 
   background: -moz-linear-gradient(top, #0b2b61, #1153c0); 
   background: -webkit-gradient(linear, left top, left bottom, from(#0b2b61), to(#1153c0)); 
   -moz-border-radius: 4px; 
   -webkit-border-radius: 4px; 
   -moz-box-shadow: 2px 3px 10px #011331; 
   -webkit-box-shadow: 2px 3px 10px #011331; 
  } 
 </style> 
 <script type="text/javascript" src="http://apps.bdimg.com/libs/jquery/1.9.1/jquery.min.js"></script> 
 <script type="text/javascript" src="http://apps.bdimg.com/libs/jqueryui/1.9.2/jquery-ui.min.js"></script> 
 <script type="text/javascript" src="jquery.spasticNav.js"></script> 
</head> 
<body> 
 <ul id="nav"> 
  <li><a href="#">Home</a></li> 
  <li id="selected"><a href="#">About</a></li> 
  <li><a href="#">Blog</a></li> 
  <li><a href="#">Contact</a></li> 
 </ul> 
 
<script type="text/javascript"> 
 $('#nav').spasticNav(); 
</script> 
</body> 
</html> 

JS源码,

(function($) { 
 
 $.fn.spasticNav = function(options) { 
  
  options = $.extend({ 
   overlap : 15, 
   speed : 500, 
   reset : 1500, 
   color : '#9f1f31', 
   easing : 'easeOutExpo' 
  }, options); 
  
  return this.each(function() { 
   
   var nav = $(this), 
    currentPageItem = $('#selected', nav), 
    blob, 
    reset; 
     
   $('<li id="blob"></li>').css({ 
    width : currentPageItem.outerWidth(), 
    height : currentPageItem.outerHeight() + options.overlap, 
    left : currentPageItem.position().left, 
    top : currentPageItem.position().top - options.overlap / 2, 
    backgroundColor : options.color 
   }).appendTo(this); 
    
   blob = $('#blob', nav); 
    
   $('li:not(#blob)', nav).hover(function() { 
    // mouse over 
    clearTimeout(reset); 
    blob.animate( 
     { 
      left : $(this).position().left, 
      width : $(this).width() 
     }, 
     { 
      duration : options.speed, 
      easing : options.easing, 
      queue : false 
     } 
    ); 
   }, function() { 
    // mouse out  
    reset = setTimeout(function() { 
     blob.animate({ 
      width : currentPageItem.outerWidth(), 
      left : currentPageItem.position().left 
     }, options.speed) 
    }, options.reset); 
  
   }); 
   
  }); // end each 
  
 }; 
 
})(jQuery); 

方法二,使用jquery插件 jquery.lavalamp.min.js 实现。

需要调用的文件有:jQuery库,jQuery缓动插件(jquery.easing.min.js),火焰灯效果插件(jquery.lavalamp.min.js)以及一个ul li列表的样式文件。

详情参看:https://www./article/102028.htm

插件官网介绍:http://lavalamp.magicmediamuse.com

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。


# js  # 导航菜单  # JS无限级导航菜单实现方法  # AngularJS+Bootstrap3多级导航菜单的实现代码  # js+div+css下拉导航菜单完整代码分享  # JS中用三种方式实现导航菜单中的二级下拉菜单  # JS 实现导航菜单中的二级下拉菜单的几种方式  # JavaScript实战之带收放动画效果的导航菜单  # ABP框架中导航菜单的使用及JavaScript API获取菜单的方法  # 原生js和jquery分别实现横向导航菜单效果  # javascript HTML+CSS实现经典橙色导航菜单  # 以JavaScript来实现WordPress中的二级导航菜单的方法  # JS+CSS实现另类带提示效果的竖向导航菜单  # JS+CSS实现简单的二级下拉导航菜单效果  # JS实现移动端可折叠导航菜单(现代都市风)  # 鼠标  # 官网  # 大家多多  # 滑过  # 方法如下  # stylesheet  # text  # Document  # title  # css  # relative  # background  # nav  # position  # Description  # image  # Bookmark  # icon  # type  # Generator 


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


相关推荐: 详解Oracle修改字段类型方法总结  如何在景安云服务器上绑定域名并配置虚拟主机?  Laravel的契約(Contracts)是什么_深入理解Laravel Contracts与依赖倒置  Laravel定时任务怎么设置_Laravel Crontab调度器配置  Win11怎么查看显卡温度 Win11任务管理器查看GPU温度【技巧】  高端建站三要素:定制模板、企业官网与响应式设计优化  Swift中循环语句中的转移语句 break 和 continue  iOS验证手机号的正则表达式  如何基于云服务器快速搭建个人网站?  php json中文编码为null的解决办法  学生网站制作软件,一个12岁的学生写小说,应该去什么样的网站?  Windows10如何删除恢复分区_Win10 Diskpart命令强制删除分区  如何在云指建站中生成FTP站点?  如何解决hover在ie6中的兼容性问题  公司门户网站制作流程,华为官网怎么做?  Laravel怎么写单元测试_PHPUnit在Laravel项目中的基础测试入门  html5如何设置样式_HTML5样式设置方法与CSS应用技巧【教程】  东莞市网站制作公司有哪些,东莞找工作用什么网站好?  laravel怎么使用数据库工厂(Factory)生成带有关联模型的数据_laravel Factory生成关联数据方法  Laravel如何集成Inertia.js与Vue/React?(安装配置)  制作企业网站建设方案,怎样建设一个公司网站?  网站制作报价单模板图片,小松挖机官方网站报价?  Laravel队列任务超时怎么办_Laravel Queue Timeout设置详解  车管所网站制作流程,交警当场开简易程序处罚决定书,在交警网站查询不到怎么办?  Laravel中Service Container是做什么的_Laravel服务容器与依赖注入核心概念解析  Laravel如何实现API版本控制_Laravel API版本化路由设计策略  网站视频制作书签怎么做,ie浏览器怎么将网站固定在书签工具栏?  iOS发送验证码倒计时应用  如何在IIS中新建站点并解决端口绑定冲突?  Microsoft Edge如何解决网页加载问题 Edge浏览器加载问题修复  java获取注册ip实例  头像制作网站在线观看,除了站酷,还有哪些比较好的设计网站?  Win11怎么修改DNS服务器 Win11设置DNS加速网络【指南】  哪家制作企业网站好,开办像阿里巴巴那样的网络公司和网站要怎么做?  Linux虚拟化技术教程_KVMQEMU虚拟机安装与调优  UC浏览器如何切换小说阅读源_UC浏览器阅读源切换【方法】  如何用美橙互联一键搭建多站合一网站?  Laravel 419 page expired怎么解决_Laravel CSRF令牌过期处理  Laravel怎么导出Excel文件_Laravel Excel插件使用教程  独立制作一个网站多少钱,建立网站需要花多少钱?  ,怎么在广州志愿者网站注册?  奇安信“盘古石”团队突破 iOS 26.1 提权  微信小程序 input输入框控件详解及实例(多种示例)  如何在万网自助建站中设置域名及备案?  微信小程序 wx.uploadFile无法上传解决办法  如何在不使用负向后查找的情况下匹配特定条件前的换行符  rsync同步时出现rsync: failed to set times on “xxxx”: Operation not permitted  北京网页设计制作网站有哪些,继续教育自动播放怎么设置?  HTML5段落标签p和br怎么选_文本排版常用标签对比【解答】  Laravel如何使用Service Provider服务提供者_Laravel依赖注入与容器绑定【深度】