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

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

两方法如下:

方法一:两个文件,一个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列表的样式文件。

详情参看:http://www.jb51.net/article/102028.htm

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

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

(0)

相关推荐

  • 用js实现的比较经典实用的触发型导航菜单

    经典实用的触发型导航菜单 .sec1 { BORDER-RIGHT: gray 1px solid; BORDER-TOP: #ffffff 1px solid; BORDER-LEFT: #ffffff 1px solid; CURSOR: hand; COLOR: #000000; BORDER- BOTTOM: #ffffff 1px solid; BACKGROUND-COLOR: #eeeeee } .sec2 { BORDER-RIGHT: gray 1px solid; BORDE

  • js导航菜单(自写)简单大方

    最近由于项目需要一个简单的多级下拉菜单菜单但是由于业务和样式上的要求,为了简洁,在网上找了很多导航菜单控件都不大适合,所以突发奇想自己写个吧~该动手就动手啊~ HTML部分 复制代码 代码如下: <h2> SuperFish</h2> <ul class="nav" hid="root"> <li><a href="javascript:void(0)" testid="aa&quo

  • 非常酷的js图形渐隐导航菜单栏

    body { background:#799AE1; margin:0px; font:normal 12px 宋体; } table { border:0px; } td { font:normal 12px 宋体; } img { vertical-align:bottom; border:0px; } a { font:normal 12px 宋体; color:#215DC6; text-decoration:none; } a:hover { color:#428EFF } .sec_

  • js实现横向伸展开的二级导航菜单代码

    本文实例讲述了js实现横向伸展开的二级导航菜单代码.分享给大家供大家参考.具体如下: 这是一款js实现的横向伸展开二级导航菜单,鼠标放在一级菜单的第四个菜单项上,就能展开二级的菜单,菜单没有过多美化,只是一般的修饰,使用的朋友可根据您自己的网站风格重新美化菜单风格. 运行效果截图如下: 在线演示地址如下: http://demo.jb51.net/js/2015/js-r-show-menu-style-codes/ 具体代码如下: <!DOCTYPE html PUBLIC "-//W3

  • JS+CSS实现简单的二级下拉导航菜单效果

    本文实例讲述了JS+CSS实现简单的二级下拉导航菜单效果.分享给大家供大家参考.具体如下: 这是一款CSS配合JavaScript实现二级下拉导航菜单,好像CSS要配合JS才能写出好效果来,本款菜单同样用到了JS,菜单目前支持两级,下拉导航是我们经常用的一种菜单形式,把这个修改一下你就能用了,结构挺简单,相信你会做好的. 运行效果截图如下: 在线演示地址如下: http://demo.jb51.net/js/2015/js-css-simple-2l-fade-down-menu-codes/

  • js实现多选项切换导航菜单的方法

    本文实例讲述了js实现多选项切换导航菜单的方法.分享给大家供大家参考.具体实现方法如下: 复制代码 代码如下: <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=gb2312"> <title>多选项切换导航菜单</title> </head> <style type="text/c

  • 可以媲美Flash的JS导航菜单

    媲美Flash的JS导航菜单 .table1 { BORDER-RIGHT: #cccccc 1px solid; BORDER-BOTTOM-COLOR: black; BORDER-LEFT: #cccccc 1px solid; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: black; BACKGROUND-COLOR: #666666; BORDER-BOTTOM-STYLE: solid } .alp { FILTER: Alpha(Opaci

  • javascript 树形导航菜单实例代码

    复制代码 代码如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv=&qu

  • 原生js做的手风琴效果的导航菜单

    做好的手风琴效果如下,具体看代码:  html代码 复制代码 代码如下: <!doctype html> <html> <head> <meta charset="utf-8"> <title>Accordion</title> <style> #accordion{ width:200px; } #accordion ul{ list-style: none; display:none; } .fir

  • 一个js控制的导航菜单实例代码

    这种菜单效果是通过脚本和样式控制的,对于新手来说是非常好的学习内容: 这种昨晚一边看舞动奇迹,一边整理这个菜单的小代码,一起来看看吧,会了可以温故知新,不会的可以借鉴一下思想,其实就是想完善一下这种前端的思想,让它不要再陌生: 这是一个asp.net的master页面里面的菜单部分 Html部分: 复制代码 代码如下: <%@ Master Language="C#" AutoEventWireup="true" CodeFile="MasterPa

随机推荐