从零开始学 Web 之 jQuery(五)操作元素其他属性,为元素绑定事件
大家好,这里是「 从零开始学 Web 系列教程 」,并在下列地址同步更新......
- github:https://github.com/Daotin/Web
- 微信公众号:Web前端之巅
- 博客园:http://www.cnblogs.com/lvonve/
- CSDN:https://blog.csdn.net/lvonve/
在这里我会从 Web 前端零基础开始,一步步学习 Web 相关的知识点,期间也会分享一些好玩的项目。现在就让我们一起进入 Web 前端学习的冒险之旅吧!

一、操作元素的宽和高
1、方法一
元素.css("width");
元素.css("height");
最后得到的是字符串类型的,比如 200px。
如果我们在设置为原来宽高2倍的时候,就要先把获取的宽高转换成数字类型,再乘以2,这样操作比较麻烦,有没有简单的方法呢?
2、方法二
元素.width(属性值或者数字);
元素.height(属性值或者数字);
1、jQuery中用以上方式可以获取和设置元素的宽高。
2、当没有参数的时候是获取元素的宽高属性。
3、当设置参数为
200 或者 200px的时候是设置元素的宽高为 200px。4、以上方法不仅可以获取行内式元素的宽高,也可以获取嵌入式写法元素的宽高。
示例:
<script>
$(function () {
$("#btn").click(function () {
$("#dv").width( $("#dv").width()*2);
$("#dv").height( $("#dv").height()*2);
});
});
</script>
二、操纵元素的left和top
1、方法一
元素.css("left");
元素.css("left");
2、方法二
// 元素的left和top获取
元素.offset();
// 元素的left和top设置
元素.offset({"left":值, "top",值};
1、
元素.offset();返回值是一个对象。(比如:{top: 200, left: 200})2、这里的 left 是包括:left 的值和 margin-left 值之和。
3、这里的 top 是包括:top 的值和 margin-top 值之和。
4、在设置的时候,left 和 top 的值是数字,没有 px。
示例:
$(function () {
$("#btn").click(function () { $("#dv").offset({"left":$("#dv").offset().left*2, "top":$("#dv").offset().top*2});
});
});
三、操纵元素卷曲出去的值
语法:
// 获取元素向左卷曲出去的距离
元素.scrollLeft();
// 获取元素向上卷曲出去的距离
元素.scrollTop();
PS:没有 scrollWidth() 和 scrollHeight()
元素.scroll(function() {}); // 元素卷曲事件,元素在向上或向左卷曲的时候触发的事件。
四、为元素绑定事件
1、方式一:(事件名)
语法:
元素.事件名(事件处理函数);
示例:
// 绑定鼠标进入,离开,点击事件
$("#btn").mouseenter(function () {
console.log("mouseenter");
});
$("#btn").mouseleave(function () {
console.log("mouseleave");
});
$("#btn").click(function () {
console.log("click");
});
// 链式编程
$("#btn").mouseenter(function () {
console.log("mouseenter");
}).mouseleave(function () {
console.log("mouseleave");
}).click(function () {
console.log("click");
});
2、方法二:(bind方法)
语法:
元素.bind("事件名", 事件处理函数);
示例:
$("#btn").bind("mouseenter", function () {
console.log("bind:mouseenter");
});
$("#btn").bind("mouseleave", function () {
console.log("bind:mouseleave");
});
$("#btn").bind("click", function () {
console.log("bind:click");
});
// 链式编程
$("#btn").bind("mouseenter", function () {
console.log("bind:mouseenter");
}).bind("mouseleave", function () {
console.log("bind:mouseleave");
}).bind("click", function () {
console.log("bind:click");
});
3、方法三:(bind对象)
语法:
元素.bind({"事件名1":事件处理函数1, "事件名2":事件处理函数2,...});
示例:
$("#btn").bind({
"mouseenter": function () {
console.log("bind-obj:mouseenter");
}, "mouseleave": function () {
console.log("bind-obj:mouseleave");
}, "click": function () {
console.log("bind-obj:click");
}
});
使用 bind 对象的方式,只需要一个bind,可以绑定多个事件。
4、方式四:(delegate方法)
语法:(父元素替子元素绑定事件)
父元素.delegate("子元素","事件名",事件处理函数);
示例:
// 为div下p标签绑定点击事件
$("#dv").delegate("p", "click", function () {
//....
});
5、方式五:(on方法)
我发现 delegate 方法内部调用的是 on 方法,那么 on 方法也可以绑定事件(注意:on 的参数顺序和 delegate 相反)。
语法:
父元素.on("事件名", "子元素", 事件处理函数);
示例:
// 为div下p标签绑定点击事件
$("#dv").on("click", "p", function () {
//....
});
PS:on 其实不仅可以给子元素绑定事件,还可以给自己绑定事件,这时候只需要把子元素的参数去掉就好了。
语法:
元素.on("事件名", 事件处理函数);

从零开始学 Web 之 jQuery(五)操作元素其他属性,为元素绑定事件的更多相关文章
- 从零开始学 Web 之 jQuery(二)获取和操作元素的属性
大家好,这里是「 从零开始学 Web 系列教程 」,并在下列地址同步更新...... github:https://github.com/Daotin/Web 微信公众号:Web前端之巅 博客园:ht ...
- 从零开始学 Web 之 jQuery(三)元素操作,链式编程,动画方法
大家好,这里是「 从零开始学 Web 系列教程 」,并在下列地址同步更新...... github:https://github.com/Daotin/Web 微信公众号:Web前端之巅 博客园:ht ...
- 从零开始学 Web 之 jQuery(四)元素的创建添加与删除,自定义属性
大家好,这里是「 从零开始学 Web 系列教程 」,并在下列地址同步更新...... github:https://github.com/Daotin/Web 微信公众号:Web前端之巅 博客园:ht ...
- 从零开始学 Web 之 jQuery(六)为元素绑定多个相同事件,解绑事件
大家好,这里是「 从零开始学 Web 系列教程 」,并在下列地址同步更新...... github:https://github.com/Daotin/Web 微信公众号:Web前端之巅 博客园:ht ...
- 从零开始学 Web 之 jQuery(一)jQuery的概念,页面加载事件
大家好,这里是「 从零开始学 Web 系列教程 」,并在下列地址同步更新...... github:https://github.com/Daotin/Web 微信公众号:Web前端之巅 博客园:ht ...
- 从零开始学 Web 之 jQuery(八)each,多库共存,包装集,插件
大家好,这里是「 从零开始学 Web 系列教程 」,并在下列地址同步更新...... github:https://github.com/Daotin/Web 微信公众号:Web前端之巅 博客园:ht ...
- 从零开始学 Web 之 jQuery(七)事件冒泡,事件参数对象,链式编程原理
大家好,这里是「 从零开始学 Web 系列教程 」,并在下列地址同步更新...... github:https://github.com/Daotin/Web 微信公众号:Web前端之巅 博客园:ht ...
- 从零开始学 Web 系列教程
大家好,这里是「 从零开始学 Web 系列教程 」,并在下列地址同步更新…… github:https://github.com/Daotin/Web 微信公众号:Web前端之巅 博客园:http:/ ...
- 从零开始学 Web 之 DOM(五)元素的创建
大家好,这里是「 从零开始学 Web 系列教程 」,并在下列地址同步更新...... +-------------------------------------------------------- ...
随机推荐
- java得到当前日期的前一天或后一天
public String getNextDay(String startdate) throws ParseException{ Date date = (new SimpleDateFormat( ...
- PHP导出Excel表
<?php/** * Created by PhpStorm. * User: admin * Date: 2019/3/16 * Time: 9:41 *///利用excel导出插件PHPEx ...
- stark组件开发之列表页面自定义函数扩展
对于展示页面, 可能需要显示一些. 数据库中,没有的字段. 比如, 删除按钮, 编辑按钮. 这个数据库,是没有的. 所以,可能就需要, 添加一个这个东西. 比如我在渲染的时候, 给他添加两个函数进 ...
- Java Token的原理和生成使用机制
在此之前我们先了解一下什么是Cookie.Session.Token 1.什么是Cookie? cookie指的就是浏览器里面能永久存储数据的一种数据存储功能.cookie由服务器生成,发送给浏览器, ...
- 利用springloaded进行java class动态替换
我们知道对于一个java文件,如Test.java,首先需要通过javac命令(javac Test.java)进行编译,生成class文件,再将class文件在jvm上进行加载运行,也就是java命 ...
- str 转 md5
@interface NSString (MD5) + (NSString *)md5To32bit:(NSString *)str; @end @implementation NSString (M ...
- 初级PM要做什么
首先让我们看下这张图,产品经理进入公司后将要面临着许多工作 或许你有疑问,如果是产品助理的话,上面这么多工作都要去做吗? 其实不然,初级产品经理由于工作经历有限,对行业的研究以及对市场的把控是有视野限 ...
- MongoDB学习记录(一) - 安装、启动与建立数据库
简要说明一个基本概念:MongoDB中的三要素:数据库(database).集合(collection)和文档(document). 文档:类似于JSON对象,由字段(field)和值(value)组 ...
- centos 安装tmux
安装tmux之前需要先安装一些支持的组件: yum install libevent-devel ncurses-devel 接下来就是下载源码包进行安装了,以1.6版本举例 wget http:// ...
- s11.9 sar:收集系统信息
功能说明: 通过sar命令,可以全面地获取系统的CPU.运行队列.磁盘I/O.分页(交换区).内存.CPU中断和网络等性能数据. 语法格式 sar option interval count sar ...