Jquery学习笔记(二)

继续Jquery的学习,学习的网站主要是参照http://www.w3school.com.cn/jquery/index.asp这里来学习,发现Jquery的语法其实很简单,而且能实现的效果也挺多,现在把常见的效果记录在这边,只记录一下功能和主要代码,知道有这么一回事,若具体的不会写,再到这个网站上去查便可。动画效果

1.动画效果

  • 操作多个CSS属性的动画。
    $("button").click(function(){
      $("div").animate({
        left:'250px',
        opacity:'0.5',
        height:'150px',
        width:'150px'
      });
    }); 
  • 使用相对值
    $("button").click(function(){
      $("div").animate({
        left:'250px',
        height:'+=150px',
        width:'+=150px'
      });
    });

  • 也可以把属性设置为一个函数,如hide,show,toggle等
    $("button").click(function(){
      $("div").animate({
        height:'toggle'
      });
    });

  • 队列功能,主要是一系列动画按次序发生的效果。注意每一个效果之间使用的是分号,而不是逗号了。第二个实例是把div右移,并且内部文字变大
    $("button").click(function(){
      var div=$("div");
      div.animate({height:'300px',opacity:'0.4'},"slow");
      div.animate({width:'300px',opacity:'0.8'},"slow");
      div.animate({height:'100px',opacity:'0.4'},"slow");
      div.animate({width:'100px',opacity:'0.8'},"slow");
    });
    $("button").click(function(){
      var div=$("div");
      div.animate({left:'100px'},"slow");
      div.animate({fontSize:'3em'},"slow");
    });


2.停止动画

  • 停止动画语法:stopAll默认是false,表示是否停止所有的动画,goToEnd默认为false,表示是否立即完成动画。
    $(selector).stop(stopAll,goToEnd);

  • 例子,该例子列出了三种情况。停止当前,停止所有,停止所有但是跳到最终状态。
    <!DOCTYPE html>
    <html>
    <head>
    <script src="/jquery/jquery-1.11.1.min.js">
    </script>
    <script> 
    $(document).ready(function(){
      $("#start").click(function(){
        $("div").animate({left:'100px'},5000);
        $("div").animate({fontSize:'3em'},5000);
      });
      
      $("#stop").click(function(){
        $("div").stop();
      });
    
      $("#stop2").click(function(){
        $("div").stop(true);
      });
    
      $("#stop3").click(function(){
        $("div").stop(true,true);
      });

3.callback函数

前面的例子多次看到有些函数中有两个参数,一个是speed,一个是callback。callback主要是为了避免一种情况:就是当有一序列的动作的动画正在执行的时候,动画指令下面还有其他指令,有时候会导致动画指令还没有执行完成就执行下面一条指令,这时候把下一条指令放在动画指令的callback里面去写,就能保证下一条指令在动画指令执行完毕之后才执行。

例子如下:

$("p").hide(1000);
alert("The paragraph is now hidden");
这句话会发生错误,因为它要1000毫秒来hide,还没等它hide完毕,下面的alert就开始执行了。

$("p").hide(1000,function(){
  alert("dddddd");
});

这样写就对了。

4.Chaining

Chaining允许我们对同一个元素在一条语句上运用多个Jquery方法。不用分开写。这些方法会按先后顺序一条接着一条来执行。

$("#p1").css("color","red").slideUp(2000).slideDown(2000);
或者这样写也可以

$("#p1").css("color","red")
  .slideUp(2000)
  .slideDown(2000);

第二部分:获取内容和属性

这一部分主要是操作HTML 的元素和它们的属性,它提供了一系列与DOM 相关的方法。来对HTNM元素以及它们的属性进行操作。

1.获取HTML内容

Jquery主要通过三个方法text(),html(),val()来实现对HTML内容的获取。

text()获取元素的文本内容

html()获取元素的文本内容并且包含HTML标记

val()获取表单元素字段的值,注意是表单,比如input等

实例

$("#btn1").click(function(){
  alert("Text: " + $("#test").text());
});
$("#btn2").click(function(){
  alert("HTML: " + $("#test").html());
});

实例

$("#btn1").click(function(){
  alert("Value: " + $("#test").val());
});
2.获取属性

通过attr()来获取HTML元素的属性,如下面例子获取了#w3s为ID的a元素的href值。

$("button").click(function(){
  alert($("#w3s").attr("href"));
});

3.设置HTML内容和属性

还是通过上面讲的那几个方法来设置内容和属性。直接看实例就明白了。

实例

$("#btn1").click(function(){
  $("#test1").text("Hello world!");
});
$("#btn2").click(function(){
  $("#test2").html("<b>Hello world!</b>");
});
$("#btn3").click(function(){
  $("#test3").val("Dolly Duck");
});


$("button").click(function(){
  $("#w3s").attr("href","http://www.w3school.com.cn/jquery");
});

text(),html(),val(),attr()带有回调函数的设置方法。回调函数由两个参数:被选元素列表中当前元素的下标,以及原始(旧的)值。然后以函数新值返回您希望使用的字符串。

例子如下:

实例

$("#btn1").click(function(){
  $("#test1").text(function(i,origText){
    return "Old text: " + origText + " New text: Hello world!
    (index: " + i + ")";
  });
});

$("#btn2").click(function(){
  $("#test2").html(function(i,origText){
    return "Old html: " + origText + " New html: Hello <b>world!</b>
    (index: " + i + ")";
  });
});
$("button").click(function(){
  $("#w3s").attr("href", function(i,origValue){
    return origValue + "/jquery";
  });
});
第二个例子的href在原来的基础上加了/jquery,形成了一个新的链接,这种应用很常见。

4.添加元素

主要通过append()。prepend(),after(),before()等方法来实现添加元素

$("p").append("Some appended text.");
$("p").prepend("Some prepended text.");
function appendText()
{
var txt1="<p>Text.</p>";               // 以 HTML 创建新元素
var txt2=$("<p></p>").text("Text.");   // 以 jQuery 创建新元素
var txt3=document.createElement("p");  // 以 DOM 创建新元素
txt3.innerHTML="Text.";
$("p").append(txt1,txt2,txt3);         // 追加新元素
}
上面三种方法均添加了Text.的段落,采用append方法添加在段落P后面。

$("img").after("Some text after");

$("img").before("Some text before");
function afterText()
{
var txt1="<b>I </b>";                    // 以 HTML 创建新元素
var txt2=$("<i></i>").text("love ");     // 通过 jQuery 创建新元素
var txt3=document.createElement("big");  // 通过 DOM 创建新元素
txt3.innerHTML="jQuery!";
$("img").after(txt1,txt2,txt3);          // 在 img 之后插入新元素
}
更多的内容查阅: http://www.w3school.com.cn/jquery/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值