jQuery应用实例

Posted 巨塔工作室

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了jQuery应用实例相关的知识,希望对你有一定的参考价值。



接着上一次的例子继续说,因为内容有点多,所以分了两次。没有看过上一篇的,可以去看看哦。

jQuery应用实例(二)


特殊效果

1


jQuery允许对象呈现某些特殊效果。
 $('h1').show(); //展现一个h1标题


常用的特殊效果如下:
.fadeIn() 淡入
.fadeOut() 淡出
.fadeTo() 调整透明度
.hide() 隐藏元素
.show() 显示元素
.slideDown() 向下展开
.slideUp() 向上卷起
.slideToggle() 依次展开或卷起某个元素
.toggle() 依次展示或隐藏某个元素
除了.show()和.hide(),所有其他特效的默认执行时间都是400ms(毫秒),但是你可以改变这个设置。
 $('h1').fadeIn(300); // 300毫秒内淡入
 $('h1').fadeOut('slow'); //缓慢地淡出


在特效结束后,可以指定执行某个函数。
 $('p').fadeOut(300, function(){$(this).remove(); });
更复杂的特效,可以用.animate()自定义。
 $('div').animate(
 {
 left : "+=50",//不断右移
 opacity : 0.25 //指定透明度
 },
 300,// 持续时间
 function(){ alert('done!'); }//回调函数
 );
.stop()和.delay()用来停止或延缓特效的执行。
$.fx.off如果设置为true,则关闭所有网页特效。


如何创建嵌套的过滤器
 //允许你减少集合中的匹配元素的过滤器,
 //只剩下那些与给定的选择器匹配的部分。在这种情况下,
 //查询删除了任何没(:not)有(:has)
 //包含class为“selected”(.selected)的子节点。
 .filter(":not(:has(.selected))")

如何重用元素搜索
 var allItems = $("div.item");
 var keepList = $("div#container1 div.item");
 //现在你可以继续使用这些jQuery对象来工作了。例如,
 //基于复选框裁剪“keep list”,复选框的名称
 //符合
 < DIV >class names:
 $(formToLookAt + " input:checked").each(function() {
    keepList = keepList.filter("." + $(this).attr("name"));
 });
 < /DIV>


 任何使用has()来检查某个元素是否包含某个类或是元素:
 //jQuery 1.4.*包含了对这一has方法的支持。该方法找出
 //某个元素是否包含了其他另一个元素类或是其他任何的
 //你正在查找并要在其之上进行操作的东东。
 $("input").has(".email").addClass("email_icon"); 

如何用jQuery来

1

1.如何使用jQuery来切换样式表:

//找出你希望切换的媒体类型(media-type),然后把href设置成新的样式表。
 $('link[media='screen']').attr('href', 'Alternative.css');


2.如何限制选择范围(基于优化目的:

  1.  //尽可能使用标签名来作为类名的前缀,
     //这样jQuery就不需要花费更多的时间来搜索
     //你想要的元素。还要记住的一点是,
     //针对于你的页面上的元素的操作越具体化,
     //就越能降低执行和搜索的时间。
     var in_stock = $('#shopping_cart_items input.is_in_stock'); <ul id="shopping_cart_items"> <li><input type="radio" value="Item-X" name="item" class="is_in_stock" /> Item X</li> <li><input type="radio" value="Item-Y" name="item" class="3-5_days" /> Item Y</li> <li><input type="radio" value="Item-Z" name="item" class="unknown" /> Item Z</li> </ul>


3.如何正确地使用ToggleClass

    //切换(toggle)类允许你根据某个类的
    //是否存在来添加或是删除该类。
    //这种情况下有些开发者使用:
    a.hasClass('blueButton') ? a.removeClass('blueButton') :                a.addClass('blueButton');
   //toggleClass允许你使用下面的语句来很容易地做到这一点
   a.toggleClass('blueButton'); 


4.如何设置IE特有的功能

     if ($.browser.msie) {
     // Internet Explorer就是个虐待狂
 } 



5.如何使用jQuery来代替一个元素:
       $('#thatdiv').replaceWith('fnuh');

  1. 如何验证某个元素是否为空:
     if ($('#keks').html()) {
    //什么都没有找到;
     }


6.如何从一个未排序的集合中找出某个元素的索引号
       $("ul > li").click(function () {
        var index = $(this).prevAll().length;
        });


7.如何把函数绑定到事件上:
    $('#foo').bind('click', function() {
     alert('User clicked on "foo."');
     });

8.如何追加或是添加html到元素中:
       $('#lal').append('sometext');

  1. 在创建元素时,如何使用对象字面量(literal)来定义属性
    var e = $("", { href: "#", class: "a-class another-class", title: "..." });

  2. 如何使用多个属性来进行过滤
     //在使用许多相类似的有着不同类型的input元素时,
     //这种基于精确度的方法很有用
     var elements = $('#someid input[type=sometype][value=somevalue]').get();

9.如何使用jQuery来预加载图像:
          jQuery.preloadImages = function() {
          for(var i = 0; i < arguments.length; i++) {
         $("<img />").attr('src', arguments38);
          }
          };
          //用法
         $.preloadImages('image1.gif', '/path/to/image2.png', 'some/image3.jpg');

10.如何为任何与选择器相匹配的元素设置事件处理程序:
        $('button.someClass').live('click', someFunction);
        //注意,在jQuery 1.4.2中,delegate和undelegate选项
        //被引入代替live,因为它们提供了更好的上下文支持
        //例如,就table来说,以前你会用
        //.live()
       $("table").each(function(){
       $("td", this).live("hover", function(){
        $(this).toggleClass("hover");
         });
         });
       //现在用
       $("table").delegate("td", "hover", function(){
     $(this).toggleClass("hover");
     });

11.如何找到一个已经被选中的option元素:
     $('#someElement').find('option:selected');

  1. 如何隐藏一个包含了某个值文本的元素:
     $("p.value:contains('thetextvalue')").hide();

12.如果自动滚动到页面中的某区域
          jQuery.fn.autoscroll = function(selector) {
          $('html,body').animate(
         {scrollTop: $(selector).offset().top},
         500
       };
       }
       //然后像这样来滚动到你希望去到的class/area上。
      $('.area_name').autoscroll();

13.如何检测各种浏览器:
     检测Safari (if( $.browser.safari)),
       检测IE6及之后版本 (if ($.browser.msie && $.browser.version > 6 )),
       检测IE6及之前版本 (if ($.browser.msie && $.browser.version <= 6 )),
       检测FireFox 2及之后版本 (if ($.browser.mozilla && $.browser.version >= '1.8' ))

14.如何替换串中的词
        var el = $('#id');
         el.html(el.html().replace(/word/ig, ''));

15.如何禁用右键单击上下文菜单:
         $(document).bind('contextmenu',function(e){
          return false;
 });

16.如何定义一个定制的选择器
       $.expr[':'].mycustomselector = function(element, index, meta, stack){
       // element- 一个DOM元素
       // index – 栈中的当前循环索引
       // meta – 有关选择器的元数据
       // stack – 要循环的所有元素的栈
       // 如果包含了当前元素就返回true
       // 如果不包含当前元素就返回false };
       // 定制选择器的用法:
       $('.someClasses:test').doSomething();

17.如何检查某个元素是否存在
      if ($('#someDiv').length) {
       //万岁!!!它存在……
        }

18.如何使用jQuery来检测右键和左键的鼠标单击两种情况:
     $("#someelement").live('click', function(e) {
      if( (!$.browser.msie && e.button == 0) || ($.browser.msie && e.button == 1)       ) {
         alert("Left Mouse Button Clicked");
        } else if(e.button == 2) {
         alert("Right Mouse Button Clicked");
     }
 });

19.如何显示或是删除input域中的默认值
      //这段代码展示了在用户未输入值时,
       //如何在文本类型的input域中保留
       //一个默认值
       wap_val = [];
      $(".swap").each(function(i){
       wap_val38 = $(this).val();
     $(this).focusin(function(){
     if ($(this).val() == swap_val38) {
             $(this).val("");
        }
     }).focusout(function(){
         if ($.trim($(this).val()) == "") {
             $(this).val(swap_val38);
       }
     });
     }); 


如果有所帮助记得点赞啊。






以上是关于jQuery应用实例的主要内容,如果未能解决你的问题,请参考以下文章

35个Jquery应用实例

JQuery 炫酷应用实例集锦 - CH2

jQuery应用实例

JQuery 酷炫应用实例集锦 - CH1 上

jQuery应用实例5:表单验证

jQuery应用实例4:下拉列表