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


Posted in Javascript onJanuary 04, 2017

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

两方法如下:

方法一:两个文件,一个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://3water.com/article/102028.htm

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

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

Javascript 相关文章推荐
javascript GUID生成器实现代码
Oct 31 Javascript
JavaScript浏览器选项卡效果
Aug 25 Javascript
kmock javascript 单元测试代码
Feb 06 Javascript
JS验证日期的格式YYYY-mm-dd 具体实现
Jun 29 Javascript
js几秒以后倒计时跳转示例
Dec 26 Javascript
JavaScript中的类数组对象介绍
Dec 30 Javascript
跟我学习javascript的var预解析与函数声明提升
Nov 16 Javascript
AngularJS入门教程之AngularJS指令
Apr 18 Javascript
vuex 使用文档小结篇
Jan 11 Javascript
重置Redux的状态数据的方法实现
Nov 18 Javascript
JavaScript实现网页计算器功能
Oct 29 Javascript
Vue项目利用axios请求接口下载excel
Nov 17 Vue.js
使用Javascript判断浏览器终端设备(PC、IOS(iphone)、Android)
Jan 04 #Javascript
jquery+ajax实现省市区三级联动效果简单示例
Jan 04 #Javascript
基于jQuery实现火焰灯效果导航菜单
Jan 04 #Javascript
深入理解Javascript中的valueOf与toString
Jan 04 #Javascript
使用UrlConnection实现后台模拟http请求的简单实例
Jan 04 #Javascript
js实现定时进度条完成后切换图片
Jan 04 #Javascript
12306 刷票脚本及稳固刷票脚本(防挂)
Jan 04 #Javascript
You might like
php简单计算权重的方法示例【适合抽奖类应用】
2019/06/10 PHP
PHP 超级全局变量相关总结
2020/06/30 PHP
自适应高度框架 ----属个人收藏内容
2007/01/22 Javascript
永不消失的title提示代码
2007/02/15 Javascript
用JS剩余字数计算的代码
2008/07/03 Javascript
在IE下获取object(ActiveX)的Param的代码
2009/09/15 Javascript
合并table相同单元格的jquery插件分享(很精简)
2011/06/20 Javascript
JS自动缩小超出大小的图片
2012/10/12 Javascript
JSON为什么那样红为什么要用json(另有洞天)
2012/12/26 Javascript
JS中setTimeout()的用法详解
2013/04/14 Javascript
javascript间隔刷新的简单实例
2013/11/14 Javascript
Bootstrap选项卡动态切换效果
2016/11/28 Javascript
详解webpack自动生成html页面
2017/06/29 Javascript
微信小程序基于本地缓存实现点赞功能的方法
2017/12/18 Javascript
Vue组件之极简的地址选择器的实现
2018/05/31 Javascript
js中时间格式化的几种方法
2018/07/22 Javascript
微信小程序实现保存图片到相册功能
2018/11/30 Javascript
微信小程序实现商品属性联动选择
2019/02/15 Javascript
atom-design(Vue.js移动端组件库)手势组件使用教程
2019/05/16 Javascript
跟老齐学Python之玩转字符串(1)
2014/09/14 Python
Python实现的对一个数进行因式分解操作示例
2019/06/27 Python
对DJango视图(views)和模版(templates)的使用详解
2019/07/17 Python
python使用pygame实现笑脸乒乓球弹珠球游戏
2019/11/25 Python
Python多线程的退出控制实现
2020/08/10 Python
详解基于Facecognition+Opencv快速搭建人脸识别及跟踪应用
2021/01/21 Python
波兰电子产品购物网站:Vobis
2019/05/26 全球购物
评析教师个人的自我评价
2014/02/19 职场文书
风险评估实施方案
2014/03/09 职场文书
母亲节感恩活动记录
2014/03/16 职场文书
幼儿园大班家长评语
2014/04/17 职场文书
意向协议书范本
2014/04/23 职场文书
环保倡议书格式范文
2014/05/14 职场文书
相亲大会策划方案
2014/06/05 职场文书
模范班主任事迹材料
2014/12/17 职场文书
员工旷工检讨书
2015/08/15 职场文书
Golang 字符串的常见操作
2022/04/19 Golang