三、jQuery复合事件

一、本课目标

-掌握jQuery的复合事件

二、复合事件

  • hover()方法
  • toggle()方法

2.1hover()方法

hover()方法相当于mouseover与mouseout()事件的组合
语法:

hover(enter, leave)

分析:


image.png

示例代码:
html文件:

<!doctype html>
<html lang="en">
 <head>
  <meta charset="UTF-8">
  <meta name="Generator" content="EditPlus®">
  <meta name="Author" content="">
  <meta name="Keywords" content="">
  <meta name="Description" content="">
  <title>当当图书导航</title>
  <link href="css/style.css" rel="stylesheet"/>
 </head>
 <body>
    <div class="top">
        <div class="wrap">
            <div class="top-l left">欢迎光临当当,请<a href="" class="top-login">登录</a><a href="">免费注册</a></div>
            <ul class="top-m right">
                <li><a href=""><i class="top-car left"></i>购物车</a></li>
                <li class="line"></li>
                <li><a href="">我的订单</a></li>
                <li class="line"></li>
                <li><a href="">当当自出版</a></li>
                <li class="line"></li>
                <li><a href=""><i class="top-tel left"></i>手机当当</a></li>
                <li class="line"></li>
                <li class="on">
                    <a href="" class="menu-btn">我的当当</a>
                    <ul class="topDown">
                        <li><a href="">我的积分</a></li>
                        <li><a href="">我的收藏</a></li>
                        <li><a href="">我的余额</a></li>
                        <li><a href="">我的评论</a></li>
                        <li><a href="">电子书架</a></li>
                    </ul>
                </li>
                <li class="line"></li>
                <li><a href="" class="menu-btn">企业采购</a></li>
                <li class="line"></li>
                <li><a href="" class="menu-btn">客户服务</a></li>
                <li class="line"></li>
            </ul>
            <div class="clearfix"></div>
        </div>
    </div>
    <div class="wrap">
        <a href=""><img src="images/logo.jpg"/></a>
    </div>
    <div class="nav-box">
        <div class="wrap">
            <ul class="nav-ul">
                <li class="all"><a href="">全部商品详细分类</a></li>
                <li><a href="">尾品会</a></li>
                <li><a href="">图书</a></li>
                <li><a href="">电子书</a></li>
                <li><a href="">服装</a></li>
                <li><a href="">运动户外</a></li>
                <li><a href="">婴孕童</a></li>
                <li><a href="">家具</a></li>
                <li><a href="">当当优品</a></li>
                <li><a href="">电器城</a></li>
                <li><a href="">当当超市</a></li>
                <li><a href="">海外购</a></li>
                <div class="clearfix"></div>
            </ul>
        </div>
    </div>
    <script src="js/jquery-1.12.4.js"></script>
    <script src="js/index.js"></script>
 </body>
</html>

css文件:

*{padding:0;margin:0;}
html{color:#404040;font-size:12px;font-family:"Arial","微软雅黑";}
a{text-decoration:none;color:#1a66b3;}
ul{list-style:none;}
.left{float:left;}
.right{float:right;}
.hide{display:none;}
.clearfix{clear:both;overflow:hidden;height:0;}
.wrap{width:1200px;margin:0 auto;}

/**头部**/
.top{height:32px;background:#f9f9f9;padding-top:2px;line-height:32px;border-bottom:1px solid #f2f2f2}
.top,.top a{color:#646464;}
.top a:hover{color:#ff2832;}
.top-l .top-login{color:#ff2832;margin-right:5px;}
.top-m > li{float:left;height:22px;line-height:22px;padding-top:5px;}
.top-m > li.line{width:1px;height:12px;background:#e1e1e1;margin:10px 0 0;padding:0;}
.top-m > li  a{display:block;padding:0 8px;}
.top-m > li a.menu-btn{padding-right:27px;background:url(../images/home_sprite.png) no-repeat right -307px;}
.top-m > li a i{margin-right:6px;margin-top:3px;}
.top-m > li.on{position:relative;border:1px #e6e6e6 solid;background:#fff;}
.top-m ul.topDown{position:absolute;border:1px #e6e6e6 solid;border-top:0;width:100%;top:27px;left:-1px;background:#fff;display:none;}
.top-m ul.topDown li{line-height:24px;}
.top-m ul.topDown li a{display:block;padding-left:10px;color:#000;}
.top-m ul.topDown li a:hover{background:#f2f2f2;color:#000;}
.top-m .top-car{width:15px;height:14px;background:url(../images/home_sprite.png) no-repeat -40px -86px;}
.top-m .top-tel{width:11px;height:16px;background:url(../images/home_sprite.png) no-repeat -40px -70px;}
.nav-box{height:36px;line-height:36px;background:#ff2832;color:#fff;}
.nav-box li{float:left;}
.nav-box li a{display:block;padding:0 15px;color:#fff;font-weight:bold;font-size:14px;}

.nav-box .all{width:190px;border:2px transparent solid;border-width:0 2px;margin-right:18px;}
.nav-box .all a,.nav-box .all a:hover{padding-left:20px;padding-right:0;background:url(../images/home_sprite.png) no-repeat 161px -567px;}
.nav-box li.on{position:relative;}
.nav-box li .topDown{position:absolute;width:120px;background:#fff;top:24px;left:0;}

js文件:

$(document).ready(function(){
    // 使用hover方法来mouseinter和mouseleave
     $(".top-m .on").hover(function(){
            $(".topDown").show();
        },
        function(){
            $(".topDown").hide();
        }
    );


    /**主菜单鼠标移上时背景颜色加深**/
    $(".nav-ul a").mouseover(function(){
        $(this).css("background-color","#f01e28");
    });
    $(".nav-ul a").mouseout(function(){
        $(this).css("background-color","#ff2832");
    });

});

2.2toggle方法

toggle方法用于模拟鼠标连输click事件。

1、带参数

语法:

toggle(fn1, fn2,...., fnN);

2、不带参数

与show()和hide()方法作用一样

3、toggleClass()可以对样式进行切换

总体示例代码如下:

<!DOCTYPE html>
<html>
<head lang="en">
    <meta charset="UTF-8">
    <title>背景颜色变化</title>
    <style type="text/css">
        .red{
            font-size: 28px;
            color: red;
        }
    </style>
</head>
<body>
<input type="button" value="点我吧">
<p>我一会显示一会隐藏</p>
<script src="js/jquery-1.8.3.min.js"></script>
<script type="text/javascript">
$(document).ready(function(){
    // 使用toggle方法来模拟鼠标连续click事件,这些事件执行完一轮之后会循环
//       $("input").toggle(
//               function(){$("body").css("background","#ff0000");},
//               function(){$("body").css("background","#00ff00");},
//               function(){$("body").css("background","#0000ff");}
//        )

//    $("input").click(function(){$("p").toggle();})
//
    $("input").click(function(){$("p").toggleClass("red");})


    })
</script>
</body>
</html>
image.png

三、总结

image.png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 158,425评论 4 361
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,058评论 1 291
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 108,186评论 0 243
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 43,848评论 0 204
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,249评论 3 286
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,554评论 1 216
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,830评论 2 312
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,536评论 0 197
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,239评论 1 241
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,505评论 2 244
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,004评论 1 258
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,346评论 2 253
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 32,999评论 3 235
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,060评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,821评论 0 194
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,574评论 2 271
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,480评论 2 267