一、筛选器
$('元素') 选中所有 $('元素:first') 选中第一个 $('元素:last') 选中最后一个 $('元素:odd') 选中奇数 $('元素:even') 选中偶数 $('元素:lt(3)') 下标小于3的 $('元素:gt(3)') 下标大于3的 $('元素:eq(3)') 下标是3的 注意:eq可以单独提炼为方法 $(‘p’:eq(3)) 和 $(‘p’).eq(3) 是一样的,提炼出来的好处是可以用变量
二、引号问题
在jquery中,$(this)、$(document)、$(window)不加引号,其余加引号
三、选择问题
jquery选择器选择的是所有符合条件的元素,而不是一个
四、元素动画
jquery中的animate会对同一元素的动画进行排队 jquery中的animate会对不同元素的动画同时执行
五、jquery中的事件
jquery中的事件没有on 原生的onmouseover变为mouseenter 原生的onmouseout变为mouseleave box.onclick = function(){......} 变为 $(‘box’).click(function(){......})
六、index()方法的使用
返回这个元素在亲兄弟中的排名,无视选择器怎么选择
<div class="box"> <p>1</p> <span>2</span> <p class='three'>3</p> <b>4</b> <h1>5</h1> </div> <div class="box2"> <p>1</p> <p>2</p> </div> <script src='../js/jquery-1.12.3.min.js'></script> <script type="text/javascript"> console.log($('p:eq(2)').index()); //输出0 </script>
七、each()方法表示遍历节点
写在function内部,$(this)表示正在遍历的元素
<div class="box"> <p>1</p> <span>2</span> <p>3</p> <b>4</b> <h1>5</h1> <p>6</p> </div> <div class="box2"> <p>7</p> <p>8</p> </div> <script src='../js/jquery-1.12.3.min.js'></script> <script type="text/javascript"> $('p:odd').each(function(i){ $(this).css('background','red'); //3 7变红 }) </script>
八、size方法和length属性
返回jquery对象中元素的个数 $(‘元素’).length $(‘元素’).size();
九、get()方法
与eq()方法基本一致 eq返回jquery对象 get方法返回原生js对象
$(‘p’).eq(0).html(‘......’);
$(‘p’).get(0).innerHTML(‘......’);
$(‘p’)[0].innerHTML(‘......’);
十、动画相关方法
1、show() 显示、hide()隐藏、toggle()切换
<button>show()</button> <button>hide()</button> <button>toggle()</button> <button>show(1000)</button> <button>hide(1000)</button> <button>toggle(1000)</button> <button>模拟show</button> <div class="box" style='width:150px;height:300px;background:red;display:none'></div> <script src = '../js/jquery-1.12.3.min.js'></script> <script> $('button').eq(0).click(function(){ $('.box').show(); }) $('button').eq(1).click(function(){ $('.box').hide(); }) $('button').eq(2).click(function(){ $('.box').toggle(); }) $('button').eq(3).click(function(){ $('.box').show(1000,function(){ console.log('show完毕') }); }) $('button').eq(4).click(function(){ $('.box').hide(1000,function(){ console.log('hide完毕') }); }) $('button').eq(5).click(function(){ $('.box').toggle(1000,function(){ console.log('toggle完毕') }); }) $('button').eq(6).click(function(){ $('.box').css('display','block'); var w = $('.box').css('width'); var h = $('.box').css('height'); $('.box').css({ 'width':0, 'height':0, 'opcity':0 }); $('.box').animate({'width':w,'height':h,'opcity':1},1000,function(){ console.log('模拟完毕') }) }) </script>
2、slideDown()下滑展开、slideUp()上滑收回、slideToggle()切换
<button>slidedown()</button> <button>slideup()</button> <button>slideToggle()</button> <button>slidedown(1000)</button> <button>slideup(1000)</button> <button>slideToggle(1000)</button> <button>模拟slidedown</button> <div class="box" style='width:150px;height:300px;background:red;display:none'></div> <script src = '../js/jquery-1.12.3.min.js'></script> <script> $('button').eq(0).click(function(){ $('.box').slideDown(); }) $('button').eq(1).click(function(){ $('.box').slideUp(); }) $('button').eq(2).click(function(){ $('.box').slideToggle(); }) $('button').eq(3).click(function(){ $('.box').slideDown(1000,function(){ console.log('slidedown完毕') }); }) $('button').eq(4).click(function(){ $('.box').slideUp(1000,function(){ console.log('slideUp完毕') }); }) $('button').eq(5).click(function(){ $('.box').slideToggle(1000,function(){ console.log('slideToggle完毕') }); }) $('button').eq(6).click(function(){ $('.box').css('display','block'); var h = $('.box').css('height'); $('.box').css({ 'height':0, 'opcity':0 }); $('.box').animate({'height':h,'opcity':1},1000,function(){ console.log('模拟完毕') }) }) </script>
3、fadeIn()淡入、fadeOut()淡出、fadeTo()淡到某个数值、fadeToggle()切换
fadeTo的参数为(time,透明度,回调函数)
举例轮播图
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> </head> <style> *{ margin: 0; padding:0; } .box{ height: 300px; width:560px; border:1px solid pink; margin: 100px auto; position: relative; /*overflow: hidden;*/ } .m_unit{ width:5000px; height:300px; position: absolute; left:0; top:0; } .m_unit ul{ overflow: hidden; } .m_unit ul li{ list-style: none; position: absolute; left:0; top:0; display: none; } .m_unit ul li.current{ display: block; } .btn{ overflow: hidden; } .btn span{ width:55px; height:55px; position: absolute; top:50%; margin-top: -28px; } .btn .left{ background: url('image/btnL.png'); left:0; } .btn .right{ background: url('image/btnR.png'); right:0; } .circle ul{ position: absolute; bottom:10px; right:0; } .circle ul li{ float: left; list-style: none; width:20px; height:20px; border-radius: 50%; background: orange; margin-right: 10px; } .circle ul li.current{ background:red; } </style> <body> <div class="box" id="box"> <div class="m_unit" id='m_unit'> <ul id='imgUl'> <li class='current'><a href="javascript:;"></a><img src='image/0.jpg'></li> <li><a href="javascript:;"></a><img src='image/1.jpg'></li> <li><a href="javascript:;"></a><img src='image/2.jpg'></li> <li><a href="javascript:;"></a><img src='image/3.jpg'></li> <li><a href="javascript:;"></a><img src='image/4.jpg'></li> </ul> </div> <div class="btn"> <span class='left' id='leftBtn'></span> <span class='right' id='rightBtn'></span> </div> <div class='circle' id='circle'> <ul> <li class='current'></li> <li></li> <li></li> <li></li> <li></li> </ul> </div> </div> <script src='../js/jquery-1.12.3.min.js'></script> <script> var $imgLis = $('#imgUl li'); var $circleLis = $('#circle ul li'); var timer = setInterval(function (){ rightHandler(); }, 1500); $('#box').mouseenter(function(){ clearInterval(timer); }) $('#box').mouseleave(function(){ timer = setInterval(function (){ rightHandler(); }, 2000); }) var idx = 0; $('#rightBtn').click(rightHandler); function rightHandler(){ if($('#imgUl li').is(':animated')) return; $imgLis.eq(idx).fadeOut(1000); idx++; if(idx == $imgLis.length){ idx = 0; } $imgLis.eq(idx).fadeIn(1000); changeCircle(); } $('#leftBtn').click(function(){ if($('#imgUl li').is(':animated')) return; $imgLis.eq(idx).fadeOut(1000); idx--; if(idx < 0){ idx = $imgLis.length-1; } $imgLis.eq(idx).fadeIn(1000); changeCircle(); }) $circleLis.each(function(i){ $(this).click(function(){ $imgLis.eq(idx).fadeOut(1000); idx = i; $imgLis.eq(idx).fadeIn(1000); changeCircle(); }) }) function changeCircle(){ var n = idx; $circleLis.eq(n).css('background','red').siblings().css('background','orange'); } </script> </body> </html>
4、stop()
取值为布尔值,第一个值表示是否清除后面的,第二个值表示是否瞬间完成当前的
stop可以用来防止动画的积累
5、finish() 瞬间完成所有动画队列
6、delay()延迟 可以使用连续打点 必须放在运动与句之前
$('元素').delay(延迟时间).animate({},1000)
7、is(‘:animated’) is方法表示身份探测 返回true false