zoukankan      html  css  js  c++  java
  • JQuery中DOM事件合成用法

     jQuery有两个合成事件——hover()方法和toggle()方法

     类似前面讲过的ready()方法,hover()方法和toggle()方法都属于jQuery自定义的方法。

     hover()方法:

      hover()方法的语法结构为:hover(enter,leave);

      hover()方法用于模拟光标悬停事件。当光标移动到元素上时,会触发指定的第1个函数(enter);当光标移出这个元素时,会触发指定的第2个函数(leave)。

      代码为:

      $(function(){
               $("#panel h5.head").hover(function(){
                          $(this).next().show();
                   },function(){
                          $(this).next().hide();
                 })
    })
    代码运行后的效果与下面代码运行后的效果是一样的。当光标滑过“标题”链接时,相应的“内容”将被显示;当光标滑出“标题”链接后,相应的“内容”则被隐藏。
    $(function(){
        $("#panel h5.head").mouseover(function(){
          $(this).next("div.content").show();
        });
        $("#panel h5.head").mouseover(function(){
          $(this).next("div.content").hide();
        })
    });
    注意:
      1. CSS中有伪类选择符,例如“:hover",当用户光标悬停在元素上时,会改变元素的外观。在大多数符合规范的浏览器中,伪类选择符可以用于任何元素。 然而在IE 6浏览器中,伪类选择符仅可用于超链接元素。对于其他元素,可以使用jQuery的hover()方法。
      2. hover()方法准确来说是替代jQuery中的bind("mouseenter")和bind("mouseleave"),而不是替代 bind("mouseover")和bind("mouseout")。因此当需要触发hover()方法的第2个函数时,需要用 trigger("mouseleave")来触发,而不是trigger("mouseout")。
         toggle()方法  toggle()方法的语法结构为:toggle(fnl, fn2, ...fnN);
         toggle()方法用于模拟鼠标连续单击事件。第1次单击元素,触发指定的第1个函数(fn1);当再次单击同一元素时,则触发指定的第2个函数(fh2);如果有更多函数,则依次触发,直到最后一个。随后的每次单击都重复对这几个函数的轮番调用。
      在前面的加强效果的例子中,使用了以下jQuery代码:
      
      $(function(){
        $("#panel h5.head").toggle(function(){
          $(this).next().show();
        },function(){
          $(this).next().hide();
        })
      })
     通过使用toggle()方法不仅实现了同样的效果,同时也简化了代码。
     toggle()方法在jQuery中还有另外一个作用:切换元素的可见状态。如果元素是可见的,单击切换后则为隐藏;
     如果元素是隐藏的,单击切换后则为可见的。因此上面的代码还可以写成如下jQuery代码:
      $(function(){
        $("#panel h5.head").toggle(function(){
          $(this).next().toggle();
        },function(){
          $(this).next().toggle();
        })
      })
    为了能有更好的用户体验,现在需要在用户单击“标题”链接后,不仅显示“内容”,而且高亮显示“标题”。代码为:
      $(function(){
        $("#panel h5.head").toggle(function(){
          $(this).addClass("highlight");
          $(this).next().show();
        },function(){
          $(this).removeClass("highlight");
          $(this).next().hide();
        });
      })
    运行代码后,如果“内容”是显示的,“标题”则会高亮显示:如果“内容”是隐藏的,则不会高亮显示“新闻标题”。
     
  • 相关阅读:
    MySql cmd下的学习笔记 —— 引擎和事务(engine,transaction)
    MySql cmd下的学习笔记 —— 有关视图的操作(algorithm)
    MySql cmd下的学习笔记 —— 有关视图的操作(建立表)
    MySql cmd下的学习笔记 —— 有关常用函数的介绍(数学函数,聚合函数等等)
    MySql cmd下的学习笔记 —— 有关多表查询的操作(多表查询练习题及union操作)
    MySql 在cmd下的学习笔记 —— 有关多表查询的操作(内连接,外连接,交叉连接)
    MySql cmd下的学习笔记 —— 有关子查询的操作(where型,from型,exists型子查询)
    MySql cmd下的学习笔记 —— 有关select的操作(order by,limit)
    剑指Offer--第21题 调整数组顺序使奇数位于偶数前面;
    剑指Offer--和为s的连续正数序列
  • 原文地址:https://www.cnblogs.com/jsingleegg/p/5195561.html
Copyright © 2011-2022 走看看