一、 jQuery对象与DOM对象
注意:
1. jQuery对象只能使用jQuery方法,DOM对象只能使用原生js提供的方法
var newli = document.querySelector('li');
$(newli);
$(DOM元素)[index] 或者 $(DOM元素).get(index)
$('.input')[0]; //方法一
$('.input').get(0) //方法二
二、相关操作
1. 入口函数
原生:window.addEventListener(‘DOMContentLoaded‘,function(){})
现在:$(function(){})或$(document).ready(function(){}) 即等DOM结构渲染完毕后就执行
注意:
(1)jQuery的隐式迭代:遍历匹配到的所有元素,即不需要我们再进行手动循环
(2)多个样式:$(‘div‘).css({width:200, height:200, backgroundColor:’blue’})
<style>
* {
padding: 0;
margin: 0;
}
.nav li {
float: left;
width: 100px;
text-align: center;
list-style: none;
cursor: pointer;
}
.nav ul{
display: none;
}
.nav ul li:hover {
background-color: #ccc;
}
</style>
<body>
<ul class="nav">
<li>微博1
<ul>
<li>首页</li>
<li>注册</li>
<li>登录</li>
</ul>
</li>
<li>微博2
<ul>
<li>首页</li>
<li>注册</li>
<li>登录</li>
</ul>
</li>
<li>微博3
<ul>
<li>首页</li>
<li>注册</li>
<li>登录</li>
</ul>
</li>
</ul>
<script src="./lib/jquery.min.js"></script>
<script>
$('.nav>li').mouseover(function(){
$(this).children('ul').show();
})
$('.nav>li').mouseout(function(){
$(this).children('ul').hide();
})
</script>
</body>
一些方法:
$(‘div‘).parents(‘选择器‘) – 查找指定的祖先元素
$(‘ul’).find(‘li’) – 查找ul里面的li,即后代选择器
$(‘li:first‘).siblings(‘li’) – 查找兄弟结点
$(‘li:first‘).nextAll() – 查找当前元素之后的所有同辈结点
$(‘li:last’).prevAll() – 查找当前元素之前的所有同辈结点
$(‘div‘).addClass(‘current’); — 添加
三、jQuery效果
(1)show 显示 ([speed, [easing], [fn]])
2. 滑动
<body>
<ul class="nav">
<li>微博1
<ul>
<li>首页</li>
<li>注册</li>
<li>登录</li>
</ul>
</li>
<li>微博2
<ul>
<li>首页</li>
<li>注册</li>
<li>登录</li>
</ul>
</li>
<li>微博3
<ul>
<li>首页</li>
<li>注册</li>
<li>登录</li>
</ul>
</li>
</ul>
<script src="./lib/jquery.min.js"></script>
<script>
$('.nav>li').hover(function(){
$(this).children('ul').slideToggle();
})
</script>
</body>
可以停止排队,使用stop() —stop()需写到要执行的动画前面
$('.nav>li').hover(function(){
$(this).children('ul').stop().slideToggle();
})
4. 淡入淡出
(1)fadeIn 淡入 ([speed, [easing], [fn]])
(2)fadeOut 淡出 参数同上
5. 自定义动画
<script>
$('div').animate({
left:300,
top:100
},300)
</script>
ul>li*n 每个li设置较短的宽度(加上overflow:hidden),当鼠标移入到某个li时,当前li的宽度需要增加到图片的正常宽度,而此li的兄弟结点的宽度变为较短宽度。可以使用fadeIn与fadeOut再加上animate({width:xx})来完成手风琴效果,注意每个jQuery效果前最好都加上stop()防止动画队列中出现多个动画。
四、对元素的操作
1. 遍历对象
方法一:$(‘div’).each(function(index, documentElement) {….})
(1)index — 索引号
(3)适用于遍历DOM对象
方法二:$.each(object, function(index, documentElement) {….})
var arr = ['red', 'blue', 'yellow']; $.each(arr, function(i, elem) { console.log(i,elem); })
(1)创建元素
(2)添加元素
$(“div”).append(p) – 放到div内部元素的最后面
$(“div”).prepend(p) – 放到div内部元素的最前面
$(“div”).after(p) – 放到原来div的后面
$(“div”).before(p) – 放到原来div的前面
(3)删除元素
五、jQuery 尺寸以及位置
Size
1. width()、height() — 得到或修改元素的宽、高
2. innerWidth()、innerHeight() — 得到加了padding的宽、高
3. outerWidth()、outerHeight() — 得到带有padding与border的宽、高,若在括号内加上true则会加上margin值
1. offset() — 返回或修改元素距离文档的偏移坐标值(对象),与父级元素无关
若要修改:offset({top:100,left:200})
2. position() — 返回与父亲定位有关的偏移坐标值(对象),不能设置
3. scrollTop() / scrollLeft() — 返回元素被卷去的头部或左侧,animate中也可以有scrollTop
六、on()绑定事件
element.on(events, [selector], fn) — 可以绑定多个处理事件
例子:
$(“div”).on({
mouseenter: function() {alert(123);},
click:function(){console.log(111)}
})
$(“div”).on(“click“, “p”, function() {alert(123);}) — div为p的父元素。可以冒泡
注意:
$(“div”).on(“mouseover mouseout”, function() {$(this).toggleClass(“red“);})
七、off()解绑事件
可移除由on创立的事件
1. $(“div”).off() — 将div身上所有的事件都解绑
2. $(“div”).off(“mouseover”) — 只解除div身上的mouseover事件
八、自动触发事件trigger()
九、jQuery拷贝对象
$.extend([deep], target, object1, [objectN])
1. deep:若设置为true则为深拷贝,默认为false,浅拷贝
注意:
1. 浅拷贝:将复杂对象的地址拷贝过去,target有而object1没有的数据会被覆盖掉,这样一修改数据,被拷贝对象的数据也会跟着变。
2. 深拷贝:拷贝的对象,而不是地址,target有而object1没有的数据继续保留。修改数据,被拷贝对象的数据不会跟着改变。
原文地址:https://blog.csdn.net/qq_61706112/article/details/123000884
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.7code.cn/show_30902.html
如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱:suwngjj01@126.com进行投诉反馈,一经查实,立即删除!