??xml version="1.0" encoding="utf-8" standalone="yes"?> 要是两年前,实现“兼Ҏ(gu)的渐变效果”这个说法估计不?x)被提出来的Q那个时候,说v渐变背景Q想到的多半是IE的渐变o(h)镜,其他览器尚未支持,但是Q在对CSS3支持日趋完善的今天,实现兼容性的渐变背景效果已经完全成ؓ(f)可能Q本文就展C如何实现兼Ҏ(gu)的渐变背景效果。在众多的浏览器中,目前不支持Opera览器? 本文实例效果都是同样的效果,是垂直渐变Qv始颜色红Ԍl束颜色蓝色Q结束的蓝色的透明度是0.5? IE览器下渐变背景的用需要用IE的渐变o(h)镜。如下代码:(x) 相关说明Q?/strong> 上面代码实现的是U色臌色的渐变Q但是不含透明度变化,q是׃IE目前未支持opacity属性以?qing)RGBA颜色Q要实现IE下的透明度变化,q是需要用IE滤镜QIE的透明度o(h)镜功能比较强大,q种强大反而与Firefox或是Safari览器下的css-gradient背景渐变的用法类伹{例如下面的使用Q?pre>filter:alpha(opacity=100 finishopacity=0 style=1 startx=0,starty=5,finishx=90,finishy=60)
其中各个参数的含义如下:(x) l合上述Q实现IE下含透明度变化红蓝垂直渐变的代码如下Q?/p>
l果如下图:(x)
对于Firefox览器下(Firefox 3.6+)渐变背景的实现需使用CSS3渐变属性,-moz-linear-gradient属性,在之前文章我详细介绍?jin)Firefox3.6下渐变背景的实现Q?zhn)有兴可以狠狠地点击q里Q?a >CSS渐变之CSS3 gradient在Firefox3.6下的使用 。这里我׃再具体讲qC(jin)Q对于本文开头提到的要实现的效果的实现可以参见下面的代码Q?/p>
此段代码在Firefox3.6览器下的效果是Q?
对于webkit核心(j)的浏览器Q如Chrome/Safari览器下渐变背景的实C是用CSS3 渐变Ҏ(gu)Qcss-gradientQ具体ؓ(f)-webkit-gradientQ用语Firefox览器是有一些差异的。我在上上一文章对此进行了(jin)非常详细的介l,(zhn)可以狠狠地点击q里Q?a >CSS gradient渐变之webkit核心(j)览器下的?。具体用就不详qC(jin)Q参见下面的代码Q?/p>
.gradient{ 此段代码在Safari 4览器下的效果是Q?
补充?011-04-07 相关代码如下Q?/p>
效果分别Z面三个分cȝ截图?br>(zhn)可以狠狠地点击q里Q?a >兼容性的渐变背景效果demo CSS3的潜力非常的大,渐变这一块可以创建很多精湛的UI效果Q而以往q些效果都只能用图片实现。CSS渐变背景的实现可以有效降低网늚囄敎ͼ也就是降低了(jin)HTTPhQ是非常受用的。但是IE览器一直蹲在茅厕边啃鸡腎쀔—自以ؓ(f)味Q得使用资源消耗很高的滤镜才能实现渐变效果。所以,目前而言Q渐变背景的的应用与否还是有待于利弊权衡的?
来自张鑫?鑫空?鑫生z?/a>[http://www.zhangxinxu.com]
http://requirejs.org
http://seajs.com
从定位谈?
首先Q从 requirejs.org 首页可以得知QRequireJS 的定位是Q?
RequireJS 是一?JavaScript 文g和模块加载器Q特别ؓ(f)览器优化,同时也可q行?Rhino ?Node 环境中?
SeaJS 的定位是Q?
SeaJS 是一个适用于浏览器端的 JavaScript 模块加蝲器?
不要看q两句话QQ何类?框架的定位,或者说愿景/目标Q最l会(x)军_该类?框架的方斚w?nbsp; 阅读全文
]]>
2. var checkText=$("#select_id").find("option:selected").text(); //获取Select选择的Text
3. var checkValue=$("#select_id").val(); //获取Select选择的Value
4. var checkIndex=$("#select_id ").get(0).selectedIndex; //获取Select选择的烦(ch)引?
5. var maxIndex=$("#select_id option:last").attr("index"); //获取Select最大的索引?
jQuery讄Select选择的Text和Value:
语法解释Q?
1. $("#select_id ").get(0).selectedIndex=1; //讄Sel 阅读全文
]]>二、IE览器下的渐变背?/h5>
filter: progid:DXImageTransform.Microsoft.gradient(startcolorstr=red,endcolorstr=blue,gradientType=1);
上面的o(h)镜代码主要有三个参数Q依ơ是Qstartcolorstr, endcolorstr, 以及(qing)gradientType?br>其中gradientType=1代表横向渐变QgradientType=0代表U向淅变。startcolorstr=”色彩?代表渐变渐变起始的色彩,endcolorstr=”色彩?代表渐变l尾的色彩?
opacity表示透明度,默认的范围是? ?100Q他们其实是癑ֈ比的形式。也是_(d)0代表完全透明Q?00代表完全不透明?br>finishopacity 是一个可选参敎ͼ如果惌讄渐变的透明效果Q就可以使用他们来指定结束时的透明度。范围也? ?100?br>style用来指定透明区域的Ş状特征:(x)
0 代表l一形状
1 代表UŞ
2 代表攑ְ?br>3 代表矩Ş?br>startx 渐变透明效果开始处?X坐标?br>starty 渐变透明效果开始处?Y坐标?br>finishx 渐变透明效果l束处的 X坐标?br>finishy 渐变透明效果l束处的 Y坐标?
.gradient{
width:300px;
height:150px;
filter:alpha(opacity=100 finishopacity=50 style=1 startx=0,starty=0,finishx=0,finishy=150)
progid:DXImageTransform.Microsoft.gradient(startcolorstr=red,endcolorstr=blue,gradientType=1);
-ms-filter:alpha(opacity=100 finishopacity=50 style=1 startx=0,starty=0,finishx=0,finishy=150)
progid:DXImageTransform.Microsoft.gradient(startcolorstr=red,endcolorstr=blue,gradientType=1);
}
<div class="gradient"></div>
三、Firefox览器下的渐变背?/h5>
.gradient{
width:300px;
height:150px;
background:-moz-linear-gradient(top, red, rgba(0, 0, 255, 0.5));
}
<div class="gradient"></div>
四、chrome/Safari览器下的渐变背景实?/h5>
width:300px;
height:150px;
background:-webkit-gradient(linear, 0 0, 0 bottom, from(#ff0000), to(rgba(0, 0, 255, 0.5)));
}
<div class="gradient"></div>
Opera11也支持了(jin)CSS3渐变。其用法与Firefox一_(d)需要?code>-o-的前~。另外,Chrome的渐变用法也开始向FireFox览器下的用法靠拢?
五、综??兼容性的渐变背景效果
.gradient{
width:300px;
height:150px;
filter:alpha(opacity=100 finishopacity=50 style=1 startx=0,starty=0,finishx=0,finishy=150)
progid:DXImageTransform.Microsoft.gradient(startcolorstr=red,endcolorstr=blue,gradientType=0);
-ms-filter:alpha(opacity=100 finishopacity=50 style=1 startx=0,starty=0,finishx=0,finishy=150)
progid:DXImageTransform.Microsoft.gradient(startcolorstr=red,endcolorstr=blue,gradientType=0);/*IE8*/
background:red; /* 一些不支持背景渐变的浏览器 */
background:-moz-linear-gradient(top, red, rgba(0, 0, 255, 0.5));
background:-webkit-gradient(linear, 0 0, 0 bottom, from(#ff0000), to(rgba(0, 0, 255, 0.5)));
background:-o-linear-gradient(top, red, rgba(0, 0, 255, 0.5));
}
<div class="gradient"></div>
六、结?/h5>
原文地址Q?http://www.zhangxinxu.com/wordpress/?p=743
]]>
函数节流技术的主要思\是,通过一个定时器Q阻断连l重复的函数调用。对于我们自己内部用的函数Q这通常意义不大Q也不推荐用这个技术,它可能会(x)丢失Ҏ(gu)些数据的处理。但是对于在用户界面调用的函敎ͼ却非常有意义。例如一?mousemove 或?IE ?resize 事g的监听函数?
q类事g监听函数往往伴随着两个主要特征Q?strong>1. 短时间内q箋多次重复触发 ; 2. 大量?DOM 操作。众所周知QDOM 操作对内存和 CPU 的开销是比较大的,特别是当同时满特征1Ӟ往往l浏览器造成不小的压力。函数节技术的意义在于在用户察觉范围外Q降低函数调用的频率Q从而提升性能?
q个技巧的大概模式如下面这P(x)
1 var processor = {
2 timeoutId: null,
3
4 performProcessing: function(){
5 // 要执行的代码
6 },
7
8 process: function(){
9 clearTimeout(this.timeoutId);
10 this.timeoutId = setTimeout(function(){
11 processor.performProcessing();
12 }, 100);
13 }
14 };
15
16 //调用
17 processor.process();
performProcessing 是真正要调用的函敎ͼ而程序的入口?processQ每ơ进?processQ真正要调用的函?performProcessing 都会(x)被gq?100 毫秒执行Q如果在此期_(d)process 再次被调用,则会(x)重置前一ơ的计时器,重新开始计Ӟq样保证?performProcessing 中的代码臛_要间?100 毫秒才会(x)被执行一ơ,原理非常的简单,下面q个函数也是利用q个原理Q通过闭包辑ֈ?jin)同L(fng)目的Q它接受两个参数Q第一个是要真正要执行的函敎ͼW二个是间隔的时间?/pre>function throttle(fn, delay) {
var timer = null;
return function () {
var context = this, args = arguments;
clearTimeout(timer);
timer = setTimeout(function () {
fn.apply(context, args);
}, delay);
};
}
另外Q有Zؓ(f) jQuery 写了(jin)相同功能的插Ӟ(x)点击q里传送到 jQuery plugins
Google Closure Library 也有cM?APIQ?a >点击q里传送到 Google Code
]]> վ֩ģ壺 ˮ| ӻ| | | | Ȫ| ƽ| ˮ| | | ֶ| | ֿ| Ͼ| ʩ| ʹ| żҴ| | | ̩| ͩ| | ˹| | ۽| ײ| | | ǹ| ̨| ߴ| ·| | | | | | | Ϫ| | DZ|