• JavaScript
  • Graphic Design
  • "/>
    祺平科技官网
    • 消防隐患排查系统
    • 消防电气检测系统
    • 主要功能
    • 如何购买

    网络编程

    jQuery实现背景滑动菜单


    话不多说,直接附上源码,仅供大家参考

    <div class="menu">
     <ul id="menu">
     <li><a href="#">JavaScript</a></li>
     <li value="1"><a href="#">Graphic Design</a></li>
     <li><a href="#">HTML</a></li>
     <li><a href="#">User Interface</a></li>
     <li><a href="#">CSS</a></li>
     </ul>
     <div id="slide"></div>
    </div>
    * {margin:0; padding:0}
    body {font:14px Helvetica, sans-serif; font-weight:bold; background:#FFF}
    .menu {position:relative; background:url(images/bg.gif) no-repeat; height:35px; width:459px}
    .menu ul {list-style:none; z-index:10; position:absolute; z-index:100; padding:9px 5px}
    .menu li {float:left}
    .menu a, .menu a:active, .menu a:visited, .menu a:hover {text-decoration:none; color:#FFF; padding:10px}
    #slide {position:absolute; top:6px; height:24px; background:#89957a; z-index:10;}
    (function($){
     $.fn.extend({
     bgslide:function(value){
     //可选参数
     value=$.extend({
     "fw":12,
     "sw":2,
     "ftime":100,
     "stime":300
     },value);
     //初始化背景的位置
     var liw = $("ul li:eq(0)",value.menu).width();//获取第一个li的宽
     var $slide = $(this).children("div"); 
     $slide.css({"width":liw,"left":"5"});
     //悬停时执行动画
     function hani(w,l){
     $slide.stop(true) //很关键的一句话,当悬停时,让正在执行的动画,和列队中的动画,都取消;防止鼠标不停滑动时的bug;
     .animate({"width":w,"left":l+value.fw},value.ftime)
     .animate({"left":l-value.fw},value.stime)
     .animate({"left":l+value.sw},value.stime)
     .animate({"left":l-value.sw},value.stime);
     } 
     //离开时执行动画 
     function oani(){
     $slide.stop(true)
     .animate({"width":liw,"left":"5"},value.ftime)
     .animate({"left":l-value.fw},value.stime)
     .animate({"left":l+value.sw},value.stime)
     .animate({"left":l-value.sw},value.stime);; 
     }
     $("ul li",this).hover(function(){
     var w = $(this).width(); //获取当前li的宽
     var l = $(this).position().left; //获取当前li的横坐标 
     if(!$(this).index()==0){ //鼠标悬停在第一个LI时,不发生动画
     hani(w,l);
     }
     },function(){
     oani();
     });
     } 
     })
    })(jQuery);

    html结构思路:

      div:放置一个背景图层,相对定位;

      UL:放置菜单内容,绝对定位;

      div:放置滑动的背景层,绝对定位;

    JQuery思路分析:

      鼠标悬停到每一个LI的时候,让这个滑动的背景层,通过水平移动动画,来定位到当前这个LI的地方;并有一个左右晃动效果;鼠标离开时,让背景层滑动到初始位置;

    鼠标悬停时:

      1.获取当前LI相对于最外层DIV的水平坐标,即横坐标值;

      2.让滑动的背景层的横坐标正好等于当前LI的横坐标;

      3.执行一个左右晃动的动画,即改变当前水平坐标的值;

    鼠标离开时:

      1.让背景层滑动到初始位置,即改变横坐标的值,为初始值;

    下载Demo地址:http://xiazai.gimoo.net/yuanma/myslidebgmenu(gimoo.net).rar

    以上就是本文的全部内容,希望对大家有所帮助,谢谢对积木网的支持!

    JQuery 动态生成Table表格实例代码
    JQuery动态生成Table表格主要用到了JQuery中的append和appendto的方法,具体代码如下:!DOCTYPEHTMLPUBLIC"-//W3C//DTDHTML4.01Transitional//EN""http://www.w3.org/TR/html4/loose.dtd"htmlh

    jQuery 选择符详细介绍及整理
    jQuery选择符CSS选择符,如:$('#title1li')为取得ID为title1(#title)的子元素()中所有的列表项(li)。$('#title1li:not(.class1)')为取得ID为title的后代元素中没有(not)class

    jQuery图片轮播实现并封装(一)
    利用面向对象自己动手写了一个封装好的jquery轮播对象,可满足一般需求,需要使用时只需调用此对象的轮播方法即可。demo:https://github.com/zsqosos/shopweb

    SQL Server表页区:深入探索(sqlserver表页区)
    MSSQL数据库如何利用分区与分表提升性能(mssql分区和分表)
    MSSQL2005 32位下安装指南(mssql2005 32)
    MSSQL数据库密码:查看指南(mssql数据库密码查看)
    MSSQL数据库:一窥其精妙之处(mssql数据库介绍)
    SQL server七天攻克技术之旅(sqlserver七天内)
    查询MSSQL跨服务器查询:一种有效的数据访问方式(mssql 跨服务器)
    快速掌握:集群Redis3安装指南(集群redis3安装教程)
    跟踪SQLserver,走向性能优化之路(跟踪sqlserver)
    MSSQL客户端工具:快速下载体验!(mssql客户端工具下载)

    域名转发系统 一起学习网 站群管理系统 消防隐患排查系统 汽车灯

     13432074335

    QQ:312425336

    版本所有:祺平科技

    粤ICP备15012827号