心得笔记,jQuery学习笔记之控制页面实现代码
分类:pc28.am

each 复制代码 代码如下: $.ready { $遍历元素").click { $.each { $.html("这是第" index "个div"); }); event.preventDefaultattr 复制代码 代码如下: $.ready { $.click { $.each { alert.attr; event.preventDefaultattr,attr eg1 复制代码 代码如下: $.ready { $.each.html; $.click { $.each.attr; }); event.preventDefault; eg2 复制代码 代码如下: $.ready { $.each.html; $.click { $.each { $.attr { return "div-id" index; }).html; }); event.preventDefaultremoveAttr 设置元素样式 复制代码 代码如下: addClass,removeClass,toggleClass.ready { $.each.html.addClass.mouseover.toggleClass; }); 直接获取,设置样式,css 复制代码 代码如下: $.ready { $.each.html.css({ color: "Red", opacity: "0.5" }).mouseover.css.mouseout.css; }); }); 判断css类型 hasClass 处理页面的元素 text获取包括innerHTML属性 移动和复制元素,appendTo 有复制和移动两种形式,单个目标移动,多个目标复制 复制代码 代码如下: $.ready.append; $.append; 添加节点:before,after 是将元素直接添加到节点之前或之后,不是以子元素插入 有复制和移动两种形式,单个目标移动,多个目标复制 删除元素 复制代码 代码如下: $.remove;// 等同于$.remove 注意:empty有区别 其中empty()删除其所有子元素 复制代码 代码如下: $.css({border:"1px solid #FF0000",height:"20px"}).empty; 克隆元素,解决复制和移动的问题 复制代码 代码如下: $ { $.html.click { //克隆自己并克隆单击事件.clone.insertAfter; 处理表单元素的值 复制代码 代码如下: $ { $.click { var sValue = $; $.val; 处理页面事件 绑定事件监听bind(eventType,[data],Listener),eventTypeName,one 复制代码 代码如下: $ { for (var i = 0; i < 10; i ) { $.clone.insertAfter; }; $.one { $.addClass.html; 删除事件,unbind,unbind 复制代码 代码如下: $ { $.html.click { $.insertAfter; $.click { alert; /*jQuery事件对象的属性和方法 altKey 按下Alt键则为true,反之为false ctrlKey 按下Ctrl则为true,反之为false keyCode 对于keyup和keydown事件,返回按键的值 page.X,page.Y 鼠标指针在客户端的坐标,不包括工具栏和滚动条等 relatedTarget 鼠标事件中鼠标指针所进入或离开的元素 screenX,screenY 鼠标指针相对于整个计算机屏幕的坐标值 shiftKey 按下shift键则为true,反之为false target 引起事件的元素/对象 type 事件的名称 which 键盘事件中为按键的Unicode值,鼠标事件中代表按键的值 stopPropagation() 阻止事件向上冒泡 preventDefault() 阻止事件的默认行为 */ 自动触发事件 复制代码 代码如下: $ { $.click { alert; $.trigger; 实现单击事件的动态交替 复制代码 代码如下: $ { $.attr实现单击事件的动态交替").toggle { $.attr("src", "Img/Img2.jpg"); }, function { $.attr("src", ""); }); }); 实现感应鼠标 复制代码 代码如下: $ { $.hover { $.css; }, function { $.css; } ); }); html代码 复制代码 代码如下: 要被添加的链接1 要被添加的链接2

图片 1
each()遍历元素(k1)

JQuery攻略(四)事件

1.1被点击的按钮查找

 一个页面上有很多按钮,对应不同的功能,一个按钮对应一个事件,说到底就是给每个按钮绑定一个事件。

 

复制代码

<html xmlns=";

<head>

    <title>jQuery</title>

    <link href="css/css.css" rel="stylesheet" type="text/css" />

    <script src="script/jquery-1.4.1.js" type="text/javascript"></script>

    <script src="script/js.js" type="text/javascript"></script>

</head>

<body>

    <span class="buttons bold">Bold</span> 

    <span class="buttons italic">Italic</span>

</body>

</html>

复制代码

 

 

 使用bind()方法为按钮添加单击事件

 

复制代码

$(document).ready(function () {

    //bold click事件

    $(".bold").bind("click", function () {

        alert("You clicked the bold button!");

    });

    //bold click事件

    $(".italic").bind("click", function () {

        alert("You clicked the italic button!");

    });

});

复制代码

 

 

 

 

 现在要把单击事件添加到button,并不是单独为每一个按钮绑定添加点击事件

 

$(document).ready(function () {

    $(".buttons").bind("click", function () {

        alert("You clicked the " $(this).text() " button");

    });

});

 

 

 不使用bind()方法也可以直接为指定的任何元素添加事件

 

复制代码

$(document).ready(function () {

    //bold click事件

    $(".bold").click(function () {

        alert("You clicked the bold button!");

    });

    //bold click事件

    $(".italic").click(function () {

        alert("You clicked the italic button!");

    });

});

复制代码

 

 

 利用事件对象的目标属性

 

 事件对象包含事件细节,JavaScript把事件对象自动发送到事件处理函数。事件对象的其中一个属性称为(target)目标,利用这个属性我们可以知道在哪个元素上发生了事件。

 

复制代码

$(document).ready(function () {

    $(".buttons").click(function (event) { //event 事件对象

        var target = $(event.target); //event.target ==> span.buttons(classname)

        if (target.is(".bold")) { //是否有bold的class

            alert("You clicked the bold button.");

        }

        if (target.is(".italic")) {

            alert("You clicked the italic button.");

        }

    });

});

复制代码

 

 

注:如果一个元素上有多个classname的话,event.target只取第一个

 

双击事件的绑定,和也上面一样,只是把click关键字换成dblclick

 

复制代码

$(document).ready(function () {

    //bold dblclick事件

    $(".bold").bind("dblclick", function () {

        alert("You clicked the bold button!");

    });

    //bold dblclick事件

    $(".italic").bind("dblclick", function () {

        alert("You clicked the italic button!");

    });

});

复制代码

 

 

在这一段,主要用到了

 

事件的绑定方法bind(eventType , data ,hanlder) 将事件附加到指定的元素上

 

单击事件的绑定click(handler)

 

双击事件的绑定dblclick(handler)

 

 

 

1.2事件的自动触发

有的时候,事件的触发,需要自动式的,而不是手动点击或者其他操作触发,这个时候就要用到trigger()方法了。

 

复制代码

$(document).ready(function () {

    $(".buttons").bind("click", function () {

        alert("You clicked the " $(this).text() " button");

    });

 

    $(".bold").trigger("click"); //触发

});

复制代码

触发事件的方法trigger(eventType) eventType为字符串类型

 

 

 

1.3点击之后禁用按钮

有的时候,我们希望事件只触发一次,比如提交按钮被点击一次之后,我们想要禁用该按钮。

 

$(document).ready(function () {

    $(".buttons").bind("click", function () {

        alert("You clicked the " $(this).text() " button");

        $(this).unbind("click"); //删除click单击事件

    });

});

 

 

unbind()从指定的元素中删除先前绑定的事件处理函数

 

unbind()

 

unbind(eventType)

 

unbind(eventType,handler)

 

如果不传入任何参数,所有的事件将被删除

 

 

 

1.4鼠标事件

鼠标除了单击双击事件,还有悬浮

 

mouseup() 鼠标抬起时候触发,不分鼠标左右键,和click不同的是,click只能是左键点击触发

 

$(document).ready(function () {

    $(".buttons").bind("mouseup", function () {

        alert("You clicked the " $(this).text() " button");

    });

});

 

 

mousedown() 鼠标按下时候触发,不分鼠标左右键,和click不同的是,click只能是左键点击触发

 

$(document).ready(function () {

    $(".buttons").bind("mousedown", function () {

        alert("You clicked the " $(this).text() " button");

    });

});

 

 

mouseover() 鼠标指针进入特定区域,触发

 

$(document).ready(function () {

    $(".buttons").bind("mouseover", function () {

        alert("You get in the " $(this).text() " button  area.");

    });

});

 

 

mouseout() 鼠标指针离开特定区域,触发

 

$(document).ready(function () {

    $(".buttons").bind("mouseout", function () {

        alert("You get out the " $(this).text() " button  area.");

    });

});

 

 

 

 

判断左右鼠标键的点击

 

假如,一个页面上有一个按钮,鼠标左键右键分别做不同的事,如果判断鼠标的左右键呢。利用事件对象属性。

 

复制代码

$(document).ready(function () {

    $(".buttons").mousedown(function (event) {

        var theKey = event.button;

        if (theKey == 0) {

            alert("左键")

        } else if (theKey == 1) {

            alert("滚轮点击");

        }

        else {

            alert("右键");

        }

    });

});

复制代码

 

 

 

 

显示鼠标指针的屏幕坐标

 

复制代码

$(document).ready(function () {

    $(".div").mousedown(function (event) {

        var xpoint = event.screenX; //横坐标

        var ypoint = event.screenY; //纵坐标

        $("p").html("X坐标:" xpoint "<br/>Y坐标:" ypoint);

    });

});

复制代码

 

 

 

 

文字显示动态突出

 

当鼠标在一行中的某个,某几个字体上滑过的时候,突出字突然加大,移走时候回复原来大小。

 

复制代码

$(document).ready(function () {

    $("span").mouseover(function () { //到达匹配元素的上方,改变css样式

        $(this).css({

            'font-weight': 'bold',

            'font-size': 'large'

        });

    });

    $("span").mouseout(function () { //鼠标离开,css样式还原

        $(this).css({

            'font-weight': 'normal',

            'font-size': 'inherit'

        });

    });

});

复制代码

主要方法是css() , 用于将css属性直接应用到HTML元素

 

css(property,value)

 

还有一个经常应用到图片上的效果,当鼠标放在图片上,图片加大,移出后还原

 

复制代码

$(document).ready(function () {

    $(".img").mouseover(function () {

        $(this).css("height", function () { return $(this).height() 50 });

        $(this).css("width", function () { return $(this).width() 50 });

    });

 

    $(".img").mouseout(function () {

        $(this).css("height", function () { return $(this).height() - 50 });

        $(this).css("width", function () { return $(this).width() - 50 });

    });

});

复制代码

或者可以换一个写法,使用hover、addClass、removeClass

 

hover(handler1,handler2) 把两个事件附加到指定元素,一个处理鼠标指针进入,一个处理鼠标指针离开元素时触发

 

复制代码

$(document).ready(function () {

    $(".img").hover(mouseover, mouseout);

 

    function mouseover() {

        $(this).css("height", function () { return $(this).height() 50 });

        $(this).css("width", function () { return $(this).width() 50 });

    }

 

    function mouseout() {

        $(this).css("height", function () { return $(this).height() - 50 });

        $(this).css("width", function () { return $(this).width() - 50 });

    }

});

复制代码

 

 

 or

 

复制代码

$(document).ready(function () {

    $(".img").hover(mouseover, mouseout);

 

    function mouseover() {

        $(this).addClass("imgAdd");

    }

 

    function mouseout() {

        $(this).removeClass("imgAdd");

    }

});

复制代码

 

 

 

 

 图片设置透明度

 

复制代码

$(document).ready(function () {

    $(".img").css("opacity", 0.2); //设置透明度

 

    $(".img").mouseover(function () { //放大

        $(".img").css("opacity", 1.0); //清晰

        $(this).css("height", function () { return $(this).height() 50 });

        $(this).css("width", function () { return $(this).width() 50 });

    });

 

    $(".img").mouseout(function () { //还原

        $(".img").css("opacity", 0.2);

        $(this).css("height", function () { return $(this).height() - 50 });

        $(this).css("width", function () { return $(this).width() - 50 });

    });

});

复制代码

 

 

1.5焦点事件

 元素得到失去焦点的时候触发

 

复制代码

$(document).ready(function () {

    $(".input").focus(function () { //得到焦点

        $("p").html("请填写。");

    });

 

    $(".input").blur(function () { //失去焦点

        $("p").html("");

    });

});

复制代码

 

 

 

 

1.6CSS的操作

之前的 css(property,value)、addClass("className")、removeClass("className")都是对css的操作

 

还有一个toggleClass()方法,利用toggleClass()方法删除或应用一个css类,如果指定元素已经应用了这个css类,使用toggleClass()方法将会把它删除,如果没有应用,那么将为指定的元素应用css类

 

js

 

$(document).ready(function () {

    $("#click").click(function () {

        $("#set").toggleClass("red");

    });

});

html

 

<span id="click" class="buttons">Click</span> 

<span id="set" class="buttons">Set</span>

 

 

css

 

复制代码

.buttons

{

    width: 100px;

    float: left;

    text-align: center;

    margin: 5px;

    border: 2px solid;

}

.red

{

    background-color: Red;

}

复制代码

 与之差不多的一个方法是toggle()此方法为指定的元素附加两个事件处理函数。第一个事件在事件偶数次发生时执行,而第二个 事件处理函数在事件在奇数数次发生执行,从0开始计数。

 

toggle(handler1,handler2)

 

如此,上面切换样式的方法可改成

 

复制代码

$(document).ready(function () {

    $("#set").toggle(function () {

        $("#set").addClass("red");

    },

    function () {

        $("#set").removeClass("red");

    });

});

复制代码

样式的切换

 

    <span id="bold" class="buttons">bold</span> 

    <span id="italic" class="buttons">italic</span>

    <br /><br />

    <div> This is a test!

    </div>

复制代码

$(document).ready(function () {

    //鼠标悬浮

    $(".buttons").hover(function () {

        $(this).addClass("sethover");

    }, function () {

        $(this).removeClass("sethover");

    });

 

    //bold

    $("#bold").click(function () {

        $("div").addClass("bold");

        $("div").removeClass("italic");

    });

 

    //italic

    $("#italic").click(function () {

        $("div").addClass("italic");

        $("div").removeClass("bold");

    });

});

复制代码

 样式切换,气泡对话框

 

css

 

复制代码

.buttons

{

    width: 100px;

    float: left;

    text-align: center;

    margin: 5px;

    border: 2px solid;

}

.hover1

{

    width:200px;

    height:100px;

    color: Red;

    background-image: url(../image/3.png);

    background-repeat: no-repeat;

    background-position: bottom;

}

复制代码

 

 

html

 

<body>

    <span id="bold" class="buttons">bold</span> 

    <span id="italic" class="buttons">italic</span>

    <span class="hover1"></span>

</body>

 

 

js

 

复制代码

$(document).ready(function () {

    //鼠标悬浮

    $(".buttons").hover(function (event) {

        $(this).addClass("hover1");

        var txt = $(this).text();

        $("<span class='showtip'><br/><br/>This is " txt " menu<span>").appendTo($(this));

    }, function () {

        $(this).removeClass("hover1");

        $(".showtip").remove();

    });

});

复制代码

 

 

 

 

1.7元素创建

在一个元素前,或后插入另外的元素,可以用到after、before、append、appendTo、prepend、prependTo(更多方法与区别),移除可以用remove()方法.

 

复制代码

after、before 同等级插入,无嵌套关系

after例子:

$("p").after("<p> Hello world!</p> ");

 

<p>标杆</p>

<p> Hello world!</p>

 

before例子

<p> Hello world!</p>

<p>标杆</p>

 

append、appendTo 有嵌套 后面开始

$("p").append("<b>Hello world!</b>");向匹配p元素集合中的每个元素结尾插入由参数指定的内容,会嵌套在内部<p><b>Hello world!</b></p>

$("<b>Hello world!</b>").appendTo("p");向目标结尾插入匹配元素集合中的每个元素。会嵌套在内部,与append只是语法不一样。

 

 

prepend、prependTo 有嵌套 前面开始

$("p").prepend('<h2>插入元素h2</h2>');向匹配元素集合中的每个元素开头插入由参数指定的内容。插入的元素为<p>的下级

$('<h2>插入元素h2</h2>').prependTo("p");向目标开头插入匹配元素集合中的每个元素。插入的元素为<p>的下级

复制代码

 

 

复制代码

$(document).ready(function () {

    $("#add").click(function () {

        $("div").prepend("<p>this is a test p .</p>");

    });

 

    $("#remove").click(function () {

        $("p").remove();

    });

});

复制代码

 

 

 创建“返回顶部”连接

 

 如果一篇文章很长,想回到顶部,总是要滑动鼠标滚轴,或按home键盘,太麻烦,我们需要页面上有一个图片或文字直接点击到头部。

 

html

 

 View Code

 

 

js

 

$(document).ready(function () {

    $("<a href='#topofpage'>Return to top</a>").insertAfter('p');

    $("<a name='topofpage'></a>").prependTo('body');

});

在这里主要是应用到了insertAfter()方法,把匹配的元素插入到另一个指定的元素集合的后面。与insertBefore()函数对应。同等级不包含

 

 

 

1.8动画隐藏和展示

“更多”连接的显示与隐藏

 

css

 

.sethover

{

    /*background-color: cyan;*/    

    cursor: pointer;

}

 

 

html

 

 View Code

 

 

js

 

复制代码

$(document).ready(function () {

    //悬浮

    $(".readMore").hover(

    function () {

        $(this).addClass("sethover");

    },

    function () {

        $(this).removeClass("sethover");

    }

    );

 

    //隐藏和显示

    $(".readMore").toggle(function () {

        $(".divShow").show("show");

    }, function () {

        $(".divShow").hide("show");

    });

    

});

复制代码

这里主要是用到了show()和hide()方法,

 

show()使指定的隐藏元素可见 show(speed,callback),speed 以毫秒为单位,也可以使用指定的字符串 'slow'=600ms , 'normal' =400ms ,'fast' =200ms,如果省略,默认的就是normal

 

callback 回调,当动画完成时调用的函数

 

hide(speed,callback)作用功能和show()相反.

 

还有两个渐显,渐隐的方法是 fadeIn(speed,callback) 和fadeOut(speed,callback),它们是改变字体透明度而实现的。

 

 

 

 1.9效果

文本滑动效果

 

 html

 

<body>

   <p id="message1">jQuery is an pen source project</p>

   <p id="message2">jQuery is an pen source project</p>

</body>

js

 

复制代码

$(document).ready(function () {

    $("p#message1").css({ "border": "2px solid", "text-align": "center", "font-weight": "bold" }).hide().click(function () {

        $(this).slideUp("slow"); //消失

        $("p#message2").slideDown("slow"); //滑动显示

    });

    $("p#message2").css({ "backgroundColor": "#f00", "color": "#fff", "text-align": "center", "font-weight": "bold" }).click(function () {

        $(this).slideUp("slow"); //消失

        $("p#message1").slideDown("slow"); //滑动显示

    });

});

复制代码

首先利用css()方法,给message1、message2添加了不同的样式,然后将其中一个隐藏,再为每个p标签添加点击事件,利用slideUp()、和slideDown()。

 

slideDown(speed,callback) 以滑动效果来逐渐显示选定元素。

speed 指定动画的持续时间,可以指定字符串fast、normal、slow或者毫秒,毫秒越大,动画持续越长。

callback是动画完成后调用的函数。

 

slideUp(speed,callback) 以活动效果逐渐使选定元素消失不可见。

 

 

图像滚动效果

首先,将img的position设置为relative

 

img

{

    position: relative;

}

然后利用animate()方法使它移动,移动到距左边距600px的地方

 

$(document).ready(function () {

    //点击图片,图片想右边移动600px距离

    $("img").click(function () {

        $(this).animate({ left: 600 }, "slow");

    });

});

 

 

animate() 根据指定的css属性和使用缓和参数来控制自定义动画

 

animate(properties,speed,easing,callback)

 

properties css 属性 {left:300}

 

speed 动画持续时间 slow、normal、fast 、xxms

 

easing (缓和)是一个函数(可选),控制动画随着时间如何进行。它需要一个插件。有两个缓和函数:linear(线性),swing(摆动)。默认swing。

 

callback 回调

 

 

 

点击横移,再回去

 

自动

 

复制代码

$(document).ready(function () {

    //点击图片

    $("img").click(function () {

        $(this).animate({ left: 600 }, "slow", function () {

            $(this).animate({ left: 0 }, "slow");

        }); //图片向右边移动600px距离,之后回到原来位置      

    });

});

复制代码

 

 

点击

 

复制代码

$(document).ready(function () {

    //点击图片,图片向右边移动600px距离,再点击回到原位

    $("img").toggle(function () {

        $(this).animate({ left: 600 }, "fast");

    }, function () {

        $(this).animate({ left: 0 }, "slow");

    });

});

复制代码

 

 

移动后隐藏

 

复制代码

$(document).ready(function () {

    //点击图片,图片向右边移动600px距离

    $("img").click(function () {

        $(this).animate({ left: 600 }, "slow");

        $(this).slideUp("slow"); //移动后隐藏

    });

});

复制代码

移动后淡出

 

复制代码

$(document).ready(function () {

    //点击图片

    $("img").click(function () {

        $(this).animate({ left: 600 }, "slow"); //图片向右边移动600px距离

        $(this).fadeTo("slow", 0.2); //移动后降低透明度

        //$(this).fadeOut("slow"); //移动后谈出 等于 $(this).fadeTo("slow", 0);

    });

});

复制代码

fadeTo() 和 fadeOut() 作用都是一样的 ,都是控制图片的谈出,不过fadeTo()比fadeOut的好处是,前者可以控制透明度,而后者直接将透明度设置了0

 

fadeTo(speed,opacity,callback) 调整选定元素的不透明度

 

speed 持续时间,时间越大持续越久

opacity 透明度 数值介于 0 -1

 

 

 

使图像一边滚一边变大

 

复制代码

$(document).ready(function () {

    //点击图片

    $("img").toggle(

    function () {

        $(this).animate({ left: 1100, height: $(this).height() * 2, width: $(this).width() * 2 }, "slow");

    },

    function () {

        $(this).animate({ left: 0, height: 100, width: 100 }, "slow");

    });

});

复制代码

 

 

 

 

使图像滚动到右侧在向左滚动

 

复制代码

$(document).ready(function () {

    //点击图片

    $("img").click(

    function () {

        $(this).animate({ left: 1200 }, "slow", function () { //向右边慢慢滑动1200px

            $(this).fadeTo("slow", 0); //淡出

            $(this).fadeTo("slow", 1); //淡入

            $(this).animate({ left: 0 }, "slow"); //回到起始位置

        });

    });

});

复制代码

 

 

 

 

 1.10 键盘输入控制

 监控键盘事件 keypress()、keydown()、keyup()

 

html

 

<body>

    <input type="text" class="infobox" />

    <p></p>

</body>

js

 

$(document).ready(function () {

    $(".infobox").keypress(function (event) { //键盘按下事件

        $("p").text(String.fromCharCode(event.keyCode)); //字符 FF没反应...

        //$("p").text(event.charCode); //ASCII 

    });

});

 

 

keypress()和keydown()的区别:

 

如果用户反复按任意键,按下然后保持按下状态,keydown()事件只执行一次,而keypress()事件则是每插入一个字符就执行一次(keydown()的持续时间更长一些)

 

此外,修改Shift键、Ctrl键等为keydown()所识别,而这些修改键不会触发keypress()事件。

 

 

 

1.11防止事件冒泡

 什么是事件冒泡?看代码。

 

html

 

复制代码

<body>

    <div>

        Div Element

        <p>

            Paragraph Element <span>Span Element</span>

        </p>

    </div>

</body>

复制代码

 

 

js

 

复制代码

$(document).ready(function () {

    $("div").click(function () {

        alert("You click the div element");

    });

    $("p").click(function () {

        alert("You click the paragraph element");

    });

    $("span").click(function () {

        alert("You click the span element");

    });

});

复制代码

三个元素嵌套 <div<p<span ,三个元素都附加了点击事件,

 

当点击span时,首先弹出警告框的是 “You click the span element ”、再“You click the paragraph element”然后“You click the div element”

 

当点击p标签元素时候,弹框的是“You click the paragraph element”然后“You click the div element”

 

当点击div元素时候,弹框的是“You click the div element”

 

当任何元素上发生事件时,事件处理机制首先检查该元素是否附加了事件方法(以及事件处理函数)。如果是,就执行(附加的事件方法的)事件处理函数的语句。在此之后,事件处理机制继续检查该元素的亲节点,看是否附加了事件方法,如果是,也会执行其事件处理函数,直到DOM根节点。

 

利用事件属性,稍作修改

 

复制代码

$(document).ready(function () {

    $("div").click(function (event) {

        var target = $(event.target);

        if (target.is("div")) {

            alert("You click the div element");

        }

        else if (target.is("p")) {

            alert("You click the paragraph element");

        }

        else if (target.is("span")) {

            alert("You click the span element");

        }

    });

 

});

复制代码

 

 

 

 

小结

此篇记录了各种不同鼠标事件和键盘事件(单击、双击、按键keypress等),几种文字图片效果(淡入,淡出,上滑、下滑等)最后总结一下所以用到的事件和方法。

 

1.bind() 绑定事件 --click、dblclick...

 

$(".bold").bind("click", function () {

        alert("You clicked the bold button!");

    });

2.event 事件对象 function (event){...}

 

3.trigger(eventType)方法 触发事件

 

$(".bold").trigger("click"); //触发

 

4.unbind()方法 从指定的元素中删除先前绑定的事件处理函数

 

$(this).unbind("click"); //删除click单击事件

 

CSS处理方法

5.css(property,value)方法 将css属性直接应用到HTML元素

 

 $(this).css({

            'font-weight': 'normal',

            'font-size': 'inherit'

        });

 

$(".img").css("opacity", 0.2); //设置透明度

 

6.addClass("className")

 

7.removeClass("className")

 

8.toggleClass()方法 删除或应用一个css类

 

9.toggle()方法 为指定的元素附加两个事件处理函数。

 

10.元素创建:after、before、append、appendTo、prepend、prependTo...

 

动画效果

show()和hide()显示与隐藏

fadeIn(speed,callback) 和fadeOut(speed,callback)渐隐和渐显

fadeTo(speed,opacity,callback) 调整选定元素的不透明度

slideDown(speed,callback) 以滑动效果来逐渐显示选定元素

slideUp(speed,callback) 以活动效果逐渐使选定元素消失不可见。

animate(properties,speed,easing,callback)根据指定的css属性和使用缓和参数来控制自定义动画

 

 

鼠标事件

mousedown() 鼠标按下时候触发,不分鼠标左右键,和click不同的是,click只能是左键点击触发

mouseover() 鼠标指针进入特定区域,触发

mouseout() 鼠标指针离开特定区域,触发

hover(handler1,handler2) 把两个事件附加到指定元素,一个处理鼠标指针进入,一个处理鼠标指针离开元素时触发

 

键盘事件

keypress()、keydown()、keyup()

 

焦点事件

focus()得到焦点事件

blur()失去焦点事件

 

1.1被点击的按钮查找 一个页面上有很多按钮,对应不同的功能,一个按钮对应一个事件,说到底就是给每个按钮绑定...

第三章

点击我

复制代码 代码如下:

1、    DOM操作(节点)

图片 2 css代码 复制代码 代码如下: .myClass1{ color:Blue; background:#e58302;} .myClass2{ color:Red;} .myClass3{ border:1px solid #FF0000; height:50px; width:80px; float:left;}

$(document).ready(function () {
$("#btn").html("each()遍历元素").click(function (event) {
$("div").each(function (index) {
$(this).html("这是第" index "个div");
});
event.preventDefault();
});
});

1)         查找节点可以查找元素节点和属性节点

获取属性的值(k1)attr(name)

2)         创建节点:

复制代码 代码如下:

(1)       创建元素节点

$(document).ready(function () {
$("#btn").html("获取属性值").click(function (event) {
$("div").each(function () {
alert("title属性的值是:" $(this).attr("title"));
});
event.preventDefault();
});
});

var addLi = $(“<li></li>”);或者var addLi = $(“</li>”)不可以是var addLi = $(“<li>”);

设置属性的值(k1)attr(name,value),attr(name,fn)
eg1

$(“ul”).append(addLi);

复制代码 代码如下:

(2)       创建文本节点:var addLi = $(“<li>文本节点</li>”);

$(document).ready(function () {
$("div").each(function () {
$(this).html(this.title);
});
$("#btn").html("设置属性值").click(function (event) {
$("div").each(function () {
$(this).attr("style", "color:Red");
});
event.preventDefault();
});
});

(3)       创建属性节点:var addLi = $(“<li class=””>属性节点</li>”);

eg2

3)         插入节点:

复制代码 代码如下:

var add = $(“<b>插入节点</b>”);

$(document).ready(function () {
$("div").each(function () {
$(this).html(this.title);
});
$("#btn").html("设置属性值").click(function (event) {
$("div").each(function (index) {
$(this).attr("id", function () {
return "div-id" index;
}).html($(this).attr("id"));
});
event.preventDefault();
});
});

(1)       $(“p”).append(add)和add.appendTo(“p”);添加到内部

删除属性(k1)removeAttr(name)

(2)       $(“p”).prepend(add)和add. prependTo(“p”); 添加到内部

设置元素样式

(3)       $(“p”).after(add)和add.insertAfter (“p”);添加到外部

复制代码 代码如下:

(4)       $(“p”).before(add)和add. insertBefore (“p”); 添加到外部

addClass(names),removeClass(names),toggleClass(names)
$(document).ready(function () {
$("div").each(function () {
$(this).html(this.title).addClass("myClass1").mouseover(function () {
$(this).toggleClass("myClass2");
});
});
});

4)         删除节点

直接获取,设置样式(k1) css(name),css(name,value)

(1)       remove()//可以带属性

复制代码 代码如下:

(2)       detach()//与remove()不同的是:所绑定的事件和附加的数据等都会保留下来

$(document).ready(function () {
$("div").each(function () {
$(this).html(this.title).css({ color: "Red", opacity: "0.5" }).mouseover(function () {
$(this).css("opacity", "1.0");
}).mouseout(function () {
$(this).css("opacity", "0.5");
});
});
});

(3)       empty()//清空节点

判断css类型 hasClass(name) is(name)

5)         复制节点

处理页面的元素
text()获取纯文本内容 html()获取包括innerHTML属性

(1)       clone()

移动和复制元素(k2)append(),appendTo(target) 有复制和移动两种形式,单个目标移动,多个目标复制

(2)       clone(true)是让复制元素的同时也复制元素所绑定的事件,同时也具备复制的功能

复制代码 代码如下:

6)         替换节点

$(document).ready(function () {
$("p").append($("a:eq(0)"));
$("p:eq(1)").append($("a:eq(1)"));
});

(1)       replaceWith();比如:$(“p”). replaceWith (add)

添加节点:before(),insertBefore(),after(),insertAfter()
是将元素直接添加到节点之前或之后,不是以子元素插入 有复制和移动两种形式,单个目标移动,多个目标复制

(2)       replaceAll;比如:add. replaceAll (“p”)

删除元素(k2)
eg1:remove()

7)         包裹节点

复制代码 代码如下:

(1)       wrap();比如:$(“p”). wrap (“<b></b>”)把p标签用b标签包裹起来

$(function () {
$("p").remove(":contains(P)");// 等同于$("p:contains("P")").remove();
});

(2)       wrapAll()比如$(“p”). wrapAll (“<b></b>”)把所有匹配的每个p标签用b标签包裹起来

eg2:empty() 注意:empty()与remove()有区别 其中empty()删除其所有子元素

(3)       wrapInner()比如$(“p”). wrapAll (“<b></b>”)把所有匹配的所有p标签用b标签包裹起来

复制代码 代码如下:

2、    DOM操作(属性)

$(function () {
$("p").css({border:"1px solid #FF0000",height:"20px"}).empty();
});

1)         属性

克隆元素,解决复制和移动的问题(k3)

(1)       获取属性:$(“p”).attr(“title”)

复制代码 代码如下:

(2)       设置属性:$(“p”).attr({“title”:”myTitle”,”class”:”pItem”})

$(function () {
$("#btn-k3").html("clone()克隆自己并克隆事件").click(function () {
//克隆自己并克隆单击事件(设为true)
$(this).clone(true).insertAfter(this);
});
});

(3)       既能获取属性也能设置属性的还有:html()、text()、height()、width()、val()、css()

处理表单元素的值(k4)val()

(4)       删除属性:$(“p”).removeAttr(“title”)

复制代码 代码如下:

2)         样式

$(function () {
$("input[type=button]").click(function () {
var sValue = $(this).val();
$("input[type=text]").val(sValue);
});
});

(1)       获取样式:$(“p”).attr(“class”)

处理页面事件
绑定事件监听(k5)bind(eventType,[data],Listener),eventTypeName(fn),one(eventType,Listener)

(2)       设置样式:$(“p”).attr(“class”,”main”)

复制代码 代码如下:

(3)       追加样式:$(“p”).addClass(“other”)

$(function () {
for (var i = 0; i < 10; i ) {
$("div:last").clone(true).insertAfter($("div:last"));
};
$("div").one("click", function () {
$(this).addClass("myClass1").html("只能点一次");
});
});

(4)       移除样式:

删除事件(k5)unbind(),unbind("click"),unbind("click",myFunc)

(1st) 删除一个:$(“p”). removeClass(“other”)

复制代码 代码如下:

(2nd)    删除多个:$(“p”). removeClass(“other”) . removeClass(“main”)或者

$(function () {
$("div").clone().html("unbind()删除事件").click(function () {
$("div").unbind();
}).insertAfter($("div"));
$("div:first").click(function () {
alert("未删除事件");
});
});

           $(“p”). removeClass(“other  main”)

/*jQuery事件对象的属性和方法
altKey 按下Alt键则为true,反之为false
ctrlKey 按下Ctrl则为true,反之为false
keyCode 对于keyup和keydown事件,返回按键的值("A"和"a"得值一样,为65)
page.X,page.Y 鼠标指针在客户端的坐标,不包括工具栏和滚动条等
relatedTarget 鼠标事件中鼠标指针所进入或离开的元素
screenX,screenY 鼠标指针相对于整个计算机屏幕的坐标值
shiftKey 按下shift键则为true,反之为false
target 引起事件的元素/对象
type 事件的名称
which 键盘事件中为按键的Unicode值,鼠标事件中代表按键的值(1为左键,2为中键,3为右键)
stopPropagation() 阻止事件向上冒泡
preventDefault() 阻止事件的默认行为
*/
自动触发事件(k5)trigger(eventType)

(5)       切换样式

复制代码 代码如下:

(1st) toggle(function(){},function(){})

$(function () {
$("div").click(function () {
alert("单击事件");
});
$(".myClass3").trigger("click");
});

(2nd)    $(“p”). toggleClass(“other”)//如果类名存在则删除,不存在则添加

实现单击事件的动态交替(k6)toggle(fn,fn)

(6)       $(“p”). hasClass(“other”)判断是否含有某个样式

复制代码 代码如下:

3)         html():

$(function () {
$("img").attr("title","toggle()实现单击事件的动态交替").toggle(function (event) {
$(event.target).attr("src", "Img/Img2.jpg");
},
function (event) {
$(event.target).attr("src", "Img/Img1.jpg");
});
});

(1)       获取html()

实现感应鼠标(k6)

$(“p”). html() 获取p里面的html内容

复制代码 代码如下:

(2)       设置html()

$(function () {
$("img").hover(function (event) {
$(event.target).css("opacity", "1.0");
},
function (event) {
$(event.target).css("opacity", "0.5");
}
);
});

$(“p”). html(“<b>设置html()</b>”)设置p里面的html内容

html代码

4)         text()

复制代码 代码如下:

(1)       获取text ()

<%--k1--%>
<form id="form1" runat="server">
<div id="1" title="iPhone"></div>
<div id="2" title="Lumia900"></div>
<div id="3" title="HTC"></div>
<button id="btn"></button>
</form>
<%--k2--%>
<a href="#">要被添加的链接1</a>
<a href="#">要被添加的链接2</a>
<p>iPhone</p>
<p>Lumia900</p>
<%--k3--%>
<button id="btn-k3"></button>
<%--k4--%>
<input type="button" value="iPhone5" />
<input type="button" value="Lumia900" />
<input type="button" value="HTC" />
<input type="text" />
<%--k5--%>
<div class="myClass3">点击我</div>
<%--k6--%>
<img alt="美图" src="Img/Img1.jpg"/>

$(“p”). text () 获取p里面的文本内容

css代码

(2)       设置text ()

复制代码 代码如下:

$(“p”). text (“设置html()”)设置p里面的文本内容

.myClass1{ color:Blue; background:#e58302;}
.myClass2{ color:Red;}
.myClass3{ border:1px solid #FF0000; height:50px; width:80px; float:left;}

5)         val()【相当于js的value属性】

复制代码 代码如下: $(document).ready(function () { $("#btn").html("each()遍历元素").click(function (event) { $("div").each(function (index) {...

(1)       能获取属性也能设置属性

(2)       能使select()、checkbox()、radio()相应的选项被选中

3、    DOM操作(遍历节点)

1)         childer() 子元素集合

2)         next() 匹配元素后面紧邻的同辈元素

3)         prev() 匹配元素前面紧邻的同辈元素

4)         silbings() 匹配元素前后紧邻的同辈元素

5)         closest(“xx”) 取得最近的匹配元素

6)         parent()、parents()

4、    DOM操作(CSS)

1)         单个样式:$("p”).css(“color”,”red”);

2)         多个样式:$("p”).css({“color”:”red”,” opacity”:”0.5”});

3)         offset();获取元素在当前视窗的相对位移

4)         position();

5)         scrollTop()、scrollLeft()

第四章

1、    事件绑定:bind(“click”, fn);有三个参数,但是第二个参数一般作为event.data属性传递给对象的额外数据对象,一般没用它。

2、    合成事件:hover()【替代的是mouseenter、mouseout】、toggle()

3、    事件冒泡

1)         事件对象【单击p标签时,事件对象就会被创建,事件对象只有事件处理函数能访问到,事件处理完毕,事件对象就会被销毁】:$("p”).bind(“click”,function(event){})

2)         防止事件冒泡:加上event.stopPropagation()

3)         阻止默认行为:event.preventDefault();【比如有时候提交按钮时,检查到表单不合法,阻止表单提交】

4)         阻止事件冒泡和默认行为可以直接简写成:return  false;

5)         jQuery不支持事件捕获

4、    事件对象的属性:

1)         event.type 获取事件类型

2)         event. preventDefault()

3)         event. stopPropagation()

4)         event.target

5)         event.relatedTarget

6)         event.pageX和event.pageY

7)         event.which鼠标单击时,获取鼠标的左(1)、中(2)、右(3)键

8)         event.metaKey

5、    移除事件

1)         unbind(【事件类型】,【要移除的函数】)

(1)       $("p”).unbind(“click”);

(2)       $("p”).unbind(“click”,function(){});

(3)       如果前面的$("p”).bind(“click”,mgFn=function(){});

这样的话:$("p”).unbind(“click”, mgFn);

2)         one(【事件类型】,【数据,可不传】,【函数】)//处理函数只执行一次

6、    模拟操作

1)         当用户一进入页面后就触发事件:$("p”).trigger(“click”)或者$("p”). click()

2)         触发自定义事件:$("p”).trigger(“myclick”)

3)         传递数据:trigger (【事件类型】,【要传递的附加数据】)

eg: $("p”).trigger(“myclick”,function(event,msg1,msg2){})

4)         执行默认操作

(1)       trigger()触发事件后,会执行浏览器默认操作$("input”).trigger(“focus”)

(2)       不执行浏览器默认操作$("input”).triggerHandler(“focus”)

7、    其他方法:

1)         绑定多个事件bind(“mouseover mouseout ”, fn);

2)         添加事件命名空间(可以多个事件用同一个命名空间)

bind(“mouseover.plugin ”, fn);

3)         元素绑定相同事件,以不同命名空间进行调用

bind(“mouseover ”, fn);

bind(“mouseover.plugin ”, fn);

 

8、    动画

1)         show()和hide()-----------------------toggle()

2)         fadeIn()和fadeOut()-----------------fadeToggle()

3)         slideUp()和slideDown()-----------------slideToggle()

4)         animate(【样式属性与值】,【速度参数可选】,【动画完成时的函数,可选】)

(1)       $("p”). animate({left:” =50px”,opacity:”0.5”},3000)

(2)   

   $("p”). animate({left:” =50px”,opacity:”0.5”},3000,function(){

$(this).css(“border”:”1px solid blue”);//最后一步执行

})

 

5)         停止动画:stop(【是否清空为执行完的动画队列,(true/false),可选】,【是否直接将正在执行的动画跳转到末状态,(true/false),可选】)

PS:如果直接使用stop()就会立即停止正在执行的动画

6)         判断是否处于动画状态:is(“:    ”)

eg:$("p”).is(“:animate”)

7)         延迟动画:delay(1000)

8)         其他动画方法:

(1)       toggle(speed,[callback])

(2)       fadeToggle(speed,[easing] ,[callback])

(3)       fadeTo(speed,opacity ,[callback])

(4)       slideToggle(speed,[easing] ,[callback])

第五章

1、    IE6不支持除超链接元素之外的:hover伪类选择符,可以使用css中设置样式,然后再脚本中使用addClass

2、    复选框

1)         反选操作:

$(‘[name=item]:checkbox’).each(function(){

         this.checked = !this.checked;

})

 

2)         全选/全不选用同一个复选框:

$(‘[name=item]:checkbox’).attr(“checked”,this.checked);

 

3、    表格的索引$(“tr:【odd/even】”)从0开始,所以第1行是偶数,

不过当$(“tbody>tr:【odd/even】”)时1是奇数

4、    end()可以让一个事件从回$(this)对象

5、    表格:

1)         带有复选框:

 

 $("tbody>tr").click(function(){

       //判断当前是否选中

       var hasSelected = $(this).hasClass("selected");

       //如果选中,则移出selected类,反之

       $(this)[hasSelected?"removeClass":"addClass"]("selected");

       //查找内部的checkbox,设置对应的属性

       $(this).find(":checkbox").attr("checked",!hasSelected);

    })

 

2)         表格的展开和关闭

通过控制tr的class和id

(1)       比如父行的class=”parent”和id=”row_01/02……”

子行的class=”child_ row_01/02……”

(2)       jQuery代码为:

     

  $(“tr.parent”).click(function(){

$(this).toggleClass(“selected”).sibling(“.child_” this.id).toggle();

})

 

(3)       当有父行是默认展开的话,当用户进入页面时,默认需要收起来,只要在上面那个代码后面再加上.click()

3)         表格内容筛选:搜索框里面输入变量值

$(“#filterName”).keyup(function(){

    $(“table tbody tr”).hide().filter(“:contains(‘” (  $(this).val()  ) ”’)”).show();

}). keyup ();//DOM加载完了之后,绑定事件完成时候触发

 

本文由pc28.am发布于pc28.am,转载请注明出处:心得笔记,jQuery学习笔记之控制页面实现代码

上一篇:JS跨域访谈操作iframe,innerHTML为br_javascript技能_脚 下一篇:没有了
猜你喜欢
热门排行
精彩图文