JQuery的零零星星

jQuery还为我们封装了很多实用的函数及一些常见却在原生中没有的事件:

原有的domReady事件也有了新的写法:

$(document).ready(function(){
  //code
});
//更常用的简单写法:
$(function(){
  //code
})

常见的hide() show()代替了以往我们所用的display:none/block;样式;

jQuery中的添加的 toggle 事件,绑定两个或多个事件处理器函数,以响应被选元素的轮流的 click 事件,例如:

//采用连续点击事件替代 原生代码中点击按钮使div显示隐藏不可或缺的if判断
$('input').toggle(function(){
    $('div').hide();
},function(){
    $('div').show();
});

CSS中用过的 hover 我们也能用jQuery代码实现:

$('#btn').hover(function(){
  //鼠标移入的执行函数
},function(){
  //鼠标移出的执行函数
});

再如一些fadeIn()/fadeOut()淡入淡出,sildeDown()/sildeUp()下拉收起等动画效果,也能直接实现,但是不建议直接使用,因为当短时间内连续触发事件后这些函数将累积起来连续执行,这可不是我们想看到的,这时不得不提到 stop() 函数中止当前动画,解决上面提到的问题。

而且jQuery中的 animate() 函数能完美的到达以上效果并且可以再此上定制自己想要的效果,这时也不能忘在每个animate()前加上stop()函数;

animate(params,[speed],[easing],[fn])
    //params:一组包含作为动画属性和终值的样式属性和及其值的集合
    //speed:三种预定速度之一的字符串("slow","normal", or "fast")
            或表示动画时长的毫秒数值(如:1000)
    //easing:要使用的擦除效果的名称(需要插件支持).默认jQueryti提供"linear" 和 "swing"
    //fn:在动画完成时执行的函数,每个元素执行一次。

animate()函数是通过原生运动框架实现的,所以动画属性必须有数字化的初始值与终值,若要修改譬如颜色等样式,需插件支持。

最后要提到对象的问题:原生对象,不能用jQuery的方法的操作;jQuery对象也不能用原生的方法操作。但是两者间可以互相转化:
把jq对象转成原生对象:$('div')[0]
把原生对象转成jq对象:$(oDiv)
另外在jQuey里,this,通常情况下(在多数情况下),指的是原生对象(而不是jQuery对象),写法为$(this)

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 通过jQuery,您可以选取(查询,query)HTML元素,并对它们执行“操作”(actions)。 jQuer...
    枇杷树8824阅读 3,856评论 0 3
  • jQuery基础 什么是JQ?一个优秀的JS库,大型开发必备JQ的好处?一简化JS的复杂操作二不再需要关心兼容性三...
    幺七阅读 4,461评论 0 2
  • 原文链接 http://blog.poetries.top/2016/10/20/review-jQuery 关注...
    前端进阶之旅阅读 16,737评论 18 503
  • 警告请使用 document.write() 仅仅向文档输出写内容。如果在文档已完成加载后执行 document....
    鹿守心畔光阅读 7,801评论 3 104
  • 问答 说说库和框架的区别? 库为 Library ( 简写 Lib ),框架为 Framework。 库是将代码集...
    coolheadedY阅读 1,462评论 0 1