当前位置:  编程技术>移动开发
本页文章导读:
    ▪[通译]25招改善你的jQuery - [2]        [翻译]25招改善你的jQuery - [2] 目录   1. 从Google Code加载jQuery  2. 使用备忘单  3. 整合所有的脚本并缩减它们  4. 使用Firebug出色的控制台日志工具  5. 通过缓存最小化选择操作  6. 最小化DOM操.........
    ▪ iso开发中遇到的一些有关问题和总结        iso开发中遇到的一些问题和总结 1.iphone的屏幕分辨率是320*480,但要注意在屏幕的正上方会有20像素的状态栏。所以在代码中添加空间是要注意高宽的选择。特别是存在横竖屏的切换。 ipad是102.........
    ▪ 计算机配置       电脑配置 配件名称 配件型号 CPU          Intel 酷睿i5 750S(散) 散热器 思民神木豪华版 主板 华擎H55M-GE R2.0 显卡 七彩虹GTX550Ti 雷暴鲨D51024M R50 内存 金士顿2GB DDR3 1333内存X2 .........

[1][通译]25招改善你的jQuery - [2]
    来源: 互联网  发布时间: 2014-02-18
[翻译]25招改善你的jQuery - [2]

目录

  1. 从Google Code加载jQuery
  2. 使用备忘单
  3. 整合所有的脚本并缩减它们
  4. 使用Firebug出色的控制台日志工具
  5. 通过缓存最小化选择操作
  6. 最小化DOM操作
  7. 处理DOM插入操作时,将需要的内容包装在一个元素中
  8. 尽可能使用IDs而不是classes
  9. 给选择器提供上下文
10. 正确使用方法链
11. 学会正确使用效果
12. 了解事件代理
13. 利用classes存储状态
14. 更好的方法是利用jQuery内置的data()方法存储状态
15. 写你自己的选择器
16. 精简你的HTML并在页面加载后修改它
17. 为了速度和SEO方面的考虑,延迟加载内容
18. 使用jQuery提供的工具函数
19. 使用noConflict重命名jQuery对象
20. 如何得知图片已加载完毕
21. 总是使用最新版本
22. 如何检查元素是否存在
23. 给你的HTML属性增加JS类
24. 返回'false'以防止默认行为
25. ready事件的简写

16. 精简你的HTML并在页面加载后修改它

这个标题可能没有多大意思,但是这个技巧可能理顺你的代码、减小代码体积和页面的下载时间、有助优化你的搜索引擎。请看下面的例子:

<div >
    <div >
        <div >
            This is field number 1</div>
    </div>
    <div >
        <div >
            <img src="/blog_article/icon.png" alt="icon" /></div>
        <div >
            <span>This is an error message</span></div>
    </div>
</div>
<div >
    <div >
        <div >
            This is field number 2</div>
    </div>
    <div >
        <div >
            <img src="/blog_article/icon.png" alt="icon" /></div>
        <div >
            <span>This is an error message</span></div>
    </div>
</div>

上面是一个HTML的具体例子,为了解释目的做了少量修改。我相信你也会认为这段代码相当的丑陋。如果类似代码很长的话,你最终会形成一个相当长且丑陋的页面。因此你可以像下面这样处理它:

<div >This is field 1</div>
<div >This is field 2</div>
<div >This is field 3</div>
<div >This is field 4</div>
<div >This is field 5</div>

所有你要做的就是在页面加载完成之后通过jQuery的操作将丑陋的HTML添加回去:

$(document).ready(function() {   
    $('.field').before('<div ><div >');   
    $('.field').after('</div><div ><div >   
        <img src="/blog_article/icon.png" alt="icon" /></div><div >   
        <span>This is an error message</span></div></div></div>');   
});

这样做并不总是可取的,在页面加载后的一瞬间你将会看到页面的闪动,但是在特定情况下你有很多重复的HTML内容,这时通过这个方法你可以显著的减小页面代码体积,减少无关且重复的标记能使你的SEO从中受益。

17. 为了速度和SEO方面的考虑,延迟加载内容

另外还有一个方法可以提升页面加载速度,理顺Spiders搜索的HTML内容,通过在页面加载之后使用AJAX请求晚加载其他内容,这样用户就可以马上开始浏览,让Spider看到你想要它们进行索引的内容。

我们已经在自己的网站上使用了这个技术。本页面上部的紫色按钮会弹出三个表格,方位与Google地图,这会使我们页面大小增加两倍。因此我们仅需要把这些HTML内容放入一个静态页面中,在页面加载完成之后通过load()函数加载它:

$('#forms').load('content/headerForms.html', function() {   
    // Code here runs once the content has loaded   
    // Put all your event handlers etc. here.               
}); 

我不会在页面上随处使用这个技巧。对此,你必须权衡考虑。你需要有额外的页面请求,而且页面上的部分内容不能立即呈现给用户,但是正确的使用这个技巧对优化会很有帮助。

18. 使用jQuery提供的工具函数

jQuery不仅仅有闪光的效果。jQuery作者也提供了一些相当实用的方法,这填补了JacaScript的一些缺陷。
http://docs.jquery.com/Utilities

尤其,提供一些常见的数组函数的浏览器支持是一个补丁。jQuery提供了迭代、过滤、克隆、合并和从数组中去除重复项的方法。

其他常用的函数包括得到下拉框中的选择项。用传统的JavaScript方法,你就必须使用getElementById得到select元素,然后通过遍历它的子元素找出被选中的元素。而jQuery提供了相当容易使用的方法:

$('#selectList').val(); 

花时间浏览官方网站上的jQuery文档与一些不常用的方法上是很值得的。

19. 使用noConflict重命名jQuery对象

 

大多数JavaScript框架都使用$符号作为缩写,当在同一个页面使用多个JS框架时,页面很容易发生冲突。幸运的是有一个简单的方法。noConflict()函数交回$的控制权并允许你设置成自己的变量名:

var $j = jQuery.noConflict();   
$j('#myDiv').hide(); 

 

 

 

 

 

20. 如何得知图片已加载完毕

 

这也一个没有很好文档说明的问题(至少在我查找时没看到),但是在创建照片库、旋转灯笼效果等方面,它是相当常见的需求。而这在jQuery中很容易实现。

所有你要做的就是在IMG上使用.load()方法,在其中添加一个回调函数。下面的例子改变了一个图片src的属性同事附加上一个简单的load函数:

$('#myImage').attr('src', 'image.jpg').load(function() {   
    alert('Image Loaded');   
}); 

你应该可以发现一旦图片加载完毕就会弹出一个alert。

21. 总是使用最新版本

jQuery仍在不断的更新,它的作者John Resig一直在寻找提高jQuery性能的方法。

jQuery当前的版本是1.2.6,John已经宣称他正在写一个新的选择器引擎Sizzle,这可能会显著的提高选择器性能(在Firefox中提升了4倍),因此我们应当保持最新版本。

【译注】
这是去年年底写的文章,而目前最新版本是v.1.3.2。

22. 如何检查元素是否存在

你不必检查元素是否在页面上存在就可以使用它,因为如果没有在DOM中找到合适的元素,jQuery什么也不会做。可是当我们需要检查元素是否被选择了,或是有多少项被选择了,你可以使用length属性:

if ($('#myDiv).length) {   
    // your code   
} 

简单之极。

23. 给你的HTML属性增加JS类

我是从Karl Swedberg那学到这个技巧,过去学习jQuery时一直在看他的书。

他最近在我以前的文章留下了对该用法的评论,基本原则如下示之。

首先,在jQuery加载之后你可以使用方法将"JS"类添加到HTML标签中:

$('HTML').addClass('JS');  

因为这仅仅发生在javascript有效的时候,如果用户打开JavaScript开关,那么你可以使用它给元素添加上CSS风格:

.JS #myDiv{display:none;}  

因此,这意味着在JavaScript打开时我们可以隐藏内容,然后在需要时使用jQuery显示这些内容(比如在用户点击时收缩或展开内容),同时在关闭JavaScript(以及搜索Spiders)时会看到所有内容。我将在晚些时候使用这个技巧。

可以在这里看到他的所有文章。

24. 返回'false'以防止默认行为

这是很明显的,也可能不是。如果你有这样的习惯:

<a href="#" >Click me!</a>  

然后添加上如下的事件处理:

$('popup').click(function(){   
    // Launch popup code   
});  

你在长页面使用上述方法时,它可能可以正常工作。有些时候你会注意到在点击链接后锚点会跳转到页面上部。

所有你要做的就是阻止它的默认行为,或者实际上你可以把"return false;"添加到任何事件的默认行为上。像这样:

$('popup').click(function(){   
    // Launch popup code   
    return false;   
}); 

 

25. ready事件的简写

一个小技巧但是通过使用$(document).ready()的简写,你可以少输入几个字符。
取代:

$(document).ready(function (){   
    // your code   
});  

你可以简写成:

$(function (){   
    // your code   
});  

如果你喜欢这篇文章,请digg一下。 

【译注】

翻译完毕!


    
[2] iso开发中遇到的一些有关问题和总结
    来源: 互联网  发布时间: 2014-02-18
iso开发中遇到的一些问题和总结

1.iphone的屏幕分辨率是320*480,但要注意在屏幕的正上方会有20像素的状态栏。所以在代码中添加空间是要注意高宽的选择。特别是存在横竖屏的切换。

ipad是1024*768。

 

2.在做横竖屏切换时,shouldAutoRotate...只用于判断是否支持横竖屏的切换,一般不要做过多的业务逻辑操作。

 

3.ios上做横竖屏切换时会按照顺序依次调用:  

willRotateToInterfaceOrientation:duration:,shouldAutorotateToInterfaceOrientation, didRotateFromInterfaceOrientation:。

 

4.在初次进入程序时,会调用viewDidLoad方法,但是是会按照屏幕是竖屏的方式进入程序。

之后会调用上面的三个方法。但注意shouldAutorotateToInterfaceOrientation在竖屏是调用2次,这两次系统是竖屏。

而在横屏方式进入时,前两次系统默认是竖屏幕,之后会以由竖切换成横屏的方式将屏幕装换成横屏,所以,横屏会以次调用第3条的3个方法。

 

 


    
[3] 计算机配置
    来源: 互联网  发布时间: 2014-02-18
电脑配置
配件名称 配件型号
CPU          Intel 酷睿i5 750S(散)
散热器 思民神木豪华版
主板 华擎H55M-GE R2.0
显卡 七彩虹GTX550Ti 雷暴鲨D51024M R50
内存 金士顿2GB DDR3 1333内存X2
硬盘 希捷7200.12 1TB(SATA3.0)
光驱 三星SH-222AB刻录机
机箱 酷冷至尊毁灭战士
电源 超频三K7限量版(额定450瓦)
鼠标 雷柏N1800有线键鼠套装


总价:3811



类别 配件 售价
CPU Intel 酷睿i5 750S(散) 1000
散热器 酷冷至尊 59
主板 技嘉G41(行家版) 466
显卡 七彩虹GTX550Ti 雷暴鲨D51024M R50 899
内存 金士顿2GB DDR3 1333内存X2 209
硬盘 希捷7200.12 1TB(SATA3.0) 390
光驱 先锋DVD-RW 199
机箱 东林大风扇散热机箱 100
电源 长城双动力BTX-400P4(400W) 305
鼠标 雷柏N1800有线键鼠套装 70


总价:3690

    
最新技术文章:
▪Android开发之登录验证实例教程
▪Android开发之注册登录方法示例
▪Android获取手机SIM卡运营商信息的方法
▪Android实现将已发送的短信写入短信数据库的...
▪Android发送短信功能代码
▪Android根据电话号码获得联系人头像实例代码
▪Android中GPS定位的用法实例
▪Android实现退出时关闭所有Activity的方法
▪Android实现文件的分割和组装
▪Android录音应用实例教程
▪Android双击返回键退出程序的实现方法
▪Android实现侦听电池状态显示、电量及充电动...
▪Android获取当前已连接的wifi信号强度的方法
▪Android实现动态显示或隐藏密码输入框的内容
▪根据USER-AGENT判断手机类型并跳转到相应的app...
▪Android Touch事件分发过程详解
▪Android中实现为TextView添加多个可点击的文本
▪Android程序设计之AIDL实例详解
▪Android显式启动与隐式启动Activity的区别介绍
▪Android按钮单击事件的四种常用写法总结
▪Android消息处理机制Looper和Handler详解
▪Android实现Back功能代码片段总结
▪Android实用的代码片段 常用代码总结
▪Android实现弹出键盘的方法
▪Android中通过view方式获取当前Activity的屏幕截...
▪Android提高之自定义Menu(TabMenu)实现方法
▪Android提高之多方向抽屉实现方法
▪Android提高之MediaPlayer播放网络音频的实现方法...
▪Android获取手机SIM卡运营商信息的方法 iis7站长之家
▪Android提高之手游转电视游戏的模拟操控
 


站内导航:


特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

©2012-2021,,E-mail:www_#163.com(请将#改为@)

浙ICP备11055608号-3