zoukankan      html  css  js  c++  java
  • jQuery入门

       以下文字根据北风网——李炎恢jQuery视频整理而成,以此记录这一路学习的过程。

       一、什么是jQuery

       jQuery是一个JavaScript库,它通过封装原生的JavaScript函数得到一整套定义好的方法。它的作者是John Resig,于2006年创建的一个开源项目,随着越来越多开发者的加入,jQuery已经集成了JavaScript、CSS、DOM和Ajax于一体的强大功能。它可以用最少的代码,完成更多复杂而困难的功能,从而得到了开发者的青睐。

       jQuery的宗旨就是以更少的代码实现实现更多的功能。

       二、jQuery的版本

       从2005年8月开始,进入公共开发阶段,随之而来的新框架于2006年1月14日正式以jQuery的名称发布。

       2006年8月发布了jQuery1.0,第一个稳定版本,具有对CSS选择符、事件处理和Ajax交互的支持。

       ...

       2013年4月发布了jQuery2.0,5月发布了jQuery2.0.2,一个重大更新版本,不在支持 IE6/7/8,体积更小,速度更快。

       此刻我在写这篇文章的时候,jQuery已经是1.12.3的版本了。

       关于版本学习的问题:

       jQuery的版本号升级主要有三种:第一种是大版本升级,比如1.x.x升级到2.x.x,这种升级规模是最大的,改动的地方是最多的,周期也是最长的,jQuery从1.x.x到2.x.x用了 7年。第二种是小版本更新,比如1.7升级到1.8,改动适中,增加或减少了一些功能,一般周期半年到一年左右。第三种是微版本更新,比如1.8.1升级到1.8.2,修复一些bug或错误之类。

       jQuery的内容升级主要也有三种:第一种是核心库的升级,比如优化选择符、优化DOM或者AJAX等,这种升级不影响开发者的使用。第二种是功能性的升级,比如剔除一些过时的方法、新增或增强一些方法等等,这种升级需要了解和学习。第三种就是BUG修复之类的升级,对开发者使用没有影响。

       学习者有一种担忧,比如学了1.3版本的jQuery,那么以后升级新版本是不是还需要重学?没必要,因为并不是每次升级一个版本都会增加或剔除功能的,一半左右都是内部优化,升级到新版本并不需要任何学习成本。就算在新的版本增加了一些功能,只需要几分钟了解一下即可使用,无需清零之前的知识,只需后续累加。当然,在早期的jQuery版本都创建了最常用的功能,而新版本中增加的功能,也不是最常用的,无需立即学习,立马用起。

       三、jQuery的功能和优势

       jQuery作为JavaScript封装的库,他的目的就是为了简化开发者使用JavaScript。主要功能有以下几点:

    1. 像CSS那样访问和操作DOM
    2. 修改CSS控制页面外观
    3. 简化JavaScript代码操作
    4. 事件处理更加容易
    5. 各种动画效果使用更方便
    6. 让Ajax技术更加完美
    7. 基于jQuery大量插件
    8. 自行扩展功能插件   

       jQuery 最大的优势,就是特别的方便。比如模仿CSS获取DOM,比原生的JavaScript要方便太多。并且在多个CSS设置上的集中处理非常舒服,而最常用的CSS功能又封装到单独的方法中,感觉非常有心。最重要的是jQuery的代码兼容性非常好,你不需要总是头疼着考虑不同浏览器的兼容问题。

       四、其他JavaScript库

       目前除了jQuery,还有5个库较为流行,他们分别是YUI、Prototype、Mootools、Dojo和ExtJS。

       YUI,是雅虎公司开发的一套完备的、扩展性良好的富交互网页工具集。

       Prototype,是最早成型的JavaScript库之一,对JavaScript内置对象做了大量的扩展。

       Dojo,Dojo强大之处在于提供了其他库没有的功能,如离线存储、图标组件等等。

       Mootools,轻量、简洁、模块化和面向对象的JavaScript框架。

       ExtJS,简称Ext,原本是对YUI的一个扩展,主要创建前端用户界面。(付费的)

       五、是否兼容IE低版本

       这次jQuery发布了大版本2.x.x,完全放弃兼容IE6/7/8。不单单如此,很多国际上的大型站点也开始逐步不再支持IE6/7/8。但对于国内而言,比较大型的网站最多只是抛弃 IE6,或者部分功能不支持IE6的警示框,还没可能一下子把IE6/7/8全面抛弃。这里我们就谈一谈你的项目是否有必要兼容 IE6/7/8。

       完全不支持IE6的示例:网易云课堂 -- http://study.163.com

       

       部分功能不支持IE6的示例:Q+ -- http://web.qq.com

       

       完全不支持的做法,就是检测到是否为IE6或者IE6/7/8,然后直接跳转到一个信息错误界面,让你更换或升级浏览器,否则无法访问使用。

       部分功能不支持的做法,就是判断你是IE6或IE6/7/8,然后给一个警示条或弹窗,告诉你使用此款浏览器性能降低或部分功能使用不正常或不能使用的提示,但还可以访问使

    用。

       虽然大部分国内网站用IE6去运行都能基本兼容,但很多细节上还是有些问题,导致不能流畅的去使用。

       疑问:我们新做的项目应不应该再兼容IE6或IE6/7/8?

       这个问题争论很久,支持兼容的人会拿国情和使用率来证明。不支持兼容的人会用技术落后导致整个落后别国来证明。其实这两种都有商榷的地方。

       首先,传统行业失败率为97%,而新兴的IT行业更高达99%以上(数据可能不精确,但可以说明失败率很高)。那么站在更高的角度去看你的项目,你不管是付出3倍成本去完成一个用户体验一般,但兼容性很好的项目;还是付出正常成本去完成用户体验很好,但不兼容低版本浏览器;这两种情况不管是哪一种,最终可能都会失败。那么你愿意选择哪种?

       是否兼容IE6或IE6/7/8并不单纯是用户基数和国情的问题,而很多项目发起人只一味的用这种理由去判定需求,那么失败也在所难免。除了这个方面,我们还应该考虑更多的方面:

       1、成本控制

       很多项目往往在6、12、18、32...个月就会发生财务问题,比如资金紧缩甚至断裂。所以,成本控制尤为重要。项目如果不是老站升级,也不是大门户的新闻站,成本控制和尽快上线测试才是最重要的。而如果新站一味要求全面兼容,会导致成本加剧(随着功能多少,成本倍率增加) 。为了缩紧时间,就不停的加班再加班,又导致员工抵触,工作效率降低,人员流动开始频繁,新员工又要接手开发一半的项目。这样成本不停的再累加。最终不少项目,根本没上线就失败了。

       2、用户选择

       用户一般可以分为两种用户:高质量用户和低质量用户。所谓高质量用户,就是为了一款最新的3D游戏去升级一块发烧级的显卡,或直接换一台整机。所谓低质量用户,发现不能玩最新的3D游戏,就放弃了,去玩“植物大战僵尸”解解馋算了。在用户选择上有一个很好的案例,就是移动互联网。网易和腾讯在他们的新闻应用上,他们兼容了几乎所有的手机平台,比如 IOS、安卓、黑莓、塞班等等,因为新闻应用的核心在新闻,而新闻的用户基数巨大,需要兼顾高质量和低质量用户。而腾讯在IOS上的几十个应用,除了新闻、QQ、浏览器,其他的基本都只有IOS和安卓,在塞班和黑莓及其他上就没有了。

       所以,你的应用核心是哪方面?兼容的成本有多大?会不会导致成本控制问题?用户选择尤为重要,放弃低质量用户也是一种成本控制。在用户基数庞大的项目上,放弃低质量用户就有点愚笨,比如某个新闻站有1亿用户,2000万为使用低版本浏览器的低质量的用户,而面对2000万用户,你兼容它或单独为2000万做个低版本服务,成本虽然可能还是3倍,但对于庞大的用户基数来看,这种成本又非常低廉。而你的用户基数只有1000人,而低质量用户有50人,那么为了这50人去做兼容,那么3倍的成本就变得非常的昂贵。

       3、项目的侧重点

       你的项目重点在哪里?是为了看新闻?是为了宣传线下产品?那么你其实有必要兼容低版本浏览器。首先这种类型的站不需要太好的用户体验,不需要太多的交互操作,只是看,而兼容的成本比较低,并且核心在新闻或产品!但如果你的项目有大量的交互、大量的操作,比如全球最大的社交网已经不兼容IE6/7,最大的微博也不再兼容IE6/7,就是这个原因。所以,项目并不是一味的全面兼容,或者全面不兼容,主要看你的项目侧重点在哪里!

       4、用户体验

       如果你的项目在兼容低版本浏览器方面成本巨大,比如社交网,有大量的JS和AJAX操作。那么兼容IE6/7的成本确实很高,如果兼容,用户体验就会很差。兼容有两种,一种是高版本浏览器用性能好,体验好的模式;低版本的自动切换到兼容模式。第二种就是,不管高版本或低版本都用统一的兼容模式。这两种成本都很高。用户体验好的模式,能增加用户粘度,增加付费潜在用户,而用户体验差的总是被用户归纳为心目中的备胎(所谓备胎就是实在没有了才去访问,如果有,很容易被抛弃)。

       5、数据支持

       如果对某一种类型的网站项目有一定的研究,那么手头必须有支持的数据分析。有数据分析可以更好的进行成本控制,更有魄力的解决高低质量用户的取舍。

       6、教育用户

       很多项目可能是有固定客户群,或者使用该项目人员质量普遍较高。那么,面对零星一点的低质量用户,我们不能再去迎合他。因为迎合他,就无法用高质量的用户体验去粘住忠实用户,又不能获取到低质量用户的芳心。所以,我们应有的策略是:牢牢把握住高质量的忠诚用户,做到他们心目中的第一;教育那部分低质量用户(比如企业级开发项目,可以直接做企业培训,安装高版本浏览器等等。互联网项目,就给出提示安装高版本浏览器即可)。那么一部分低质量用户被拉拢过来,还有一小撮死性不改的就只有放弃。切不可捡了芝麻丢了西瓜,不要贪大求全。

       PS:我们用了这六点讨论了一下是否需要兼容IE6或IE6/7/8,结论就是必须根据实际情况,你项目的成本情况、人员情况、用户情况和项目本身类型情况而制定,没有一刀切的兼容或不兼容。

       六、下载及运行jQuery

       目前最新的版本,是1.12.3和2.2.3,我们下载开发版,可以顺便读一读源代码。如果你需要引用到你线上的项目,就必须使用压缩版,去掉了注释和空白,是容量最小。

       

       第一个jQuery程序:单击按钮,弹出一个窗口

       代码如下:

       第一个jQuery程序.html:

    <!DOCTYPE html>
    <html>
    <head>
        <meta charset="UTF-8">
        <title>第一个jQuery程序</title>
        <script type="text/javascript" src="jquery-1.12.3.js"></script>
        <script type="text/javascript" src="demo.js"></script>
    </head>
    <body>
        <input type="button" value="button" />
    </body>
    </html>

       demo.js:

    $(function() {
        $("input").click(function() {
            alert("第一个jQuery程序");
        });
    });
  • 相关阅读:
    【转】linux清屏的几种方法
    【转】Ubuntu 64位系统安装交叉编译环境一直提醒 没有那个文件或目录
    【转】无法获得锁 /var/lib/dpkg/lock
    层级原理图设计方法
    【转】gcc 编译使用动态链接库和静态链接库
    【转】设置 vim 显示行号永久有效
    【转】VMware 全屏显示
    emwin之自绘制 BUTTON 图形的一些问题
    使用 sizeof 获取字符串数组的大小
    emwin之2D图形流位图显示的方法
  • 原文地址:https://www.cnblogs.com/yerenyuan/p/5407512.html
Copyright © 2011-2022 走看看