Javascript

如何使用Flickr的API

首先要去申请Flickr API Key, 分为商业通途和非商业用途。

Flickr API Key Application Application

通常大家会get方式获得图片列表,如访问下述地址会获得json格式的图片列表

http://api.flickr.com/services/rest/?&method=flickr.people.getPublicPhotos
&api_key=[your api key here]&photoset_id=[your photoset id here]&format=json&per_page=20
$(function(){
       $.getJSON('http://api.flickr.com/services/rest/?&method=flickr.photosets.getPhotos&api_key=[your api key here]&photoset_id=[your photoset id here]&format=json&per_page=20&jsoncallback=?',
        function(data){
            //loop through the results with the following function
            $.each(data.photoset.photo, function(i,item){
            	var str = "";
                //build the url of the photo in order to link to it
                var photoURL = 'http://farm' + item.farm + '.static.flickr.com/' + item.server + '/' + item.id + '_' + item.secret + '_m.jpg';
                var href = 'http://www.flickr.com/photos/' + data.photoset.owner + '/' + item.id;
                str += '

DIV覆盖Flash的方法

最近做了个项目,需要把DIV层放到Flash上面,CSS的z-index属性是不起作用的,有人找到了官方解释。

A Flash movie in a layer on a DHTML page containing several layers may display above all the layers, regardless of the stacking order (”z-index”) of those layers.

在网上查查,结果发现其实有很多方法的,试了几种,其实能用的不多,很多方法都有这样那样的问题,最后发现下面两种兼容性最好。

第一种:设置 Flash为 透明

全世界最短的IE判定

以前最短的IE判定借助于IE不支持垂直制表符的特性搞出来的。

var ie = !+”\v1″;

仅仅需要7bytes!参见这篇文章,《32 bytes, ehr … 9, ehr … 7!!! to know if your browser is IE》,讲述外国人是如何把IE的判定从32 bytes一步步缩简成7 bytes!的故事

但这纪录今年1月8日被一个俄国人打破了,现在只要6 bytes!它利用了IE与标准浏览器在处理数组的toString方法的差异做成的。对于标准游览器,如果数组里面最后一个字符为逗号,JS引擎会自动剔除它。

var ie = !-[1,];
alert(ie);

如果从非IE的角度判定,可以省一个比特,因为我们做兼容时,绝大多数情况都是IE与非IE地开工。

if(-[1,]){
     alert("这不是IE浏览器!");
}else{
     alert("这是IE浏览器!");
}

CSS 技巧之二 PNG Fix

大家都知道IE6对于CSS设计者来说,简直就是一坨屎,抱歉用这个词,但是我还真找不到其他更合适的词来形容它,当然仅限于CSS解析方面。

IE6有个大Bug就是不支持PNG图片的透明色,这就大大限制了页面的设计。目前网上有很多解决IE6下PNG透明色的方案,从使用IE特有的滤镜或是e­xpression,再到javascript+透明GIF替代.但是这些方法都有一个缺点,就是不支持CSS中backgrond-image.

下面给大家介绍两个支持bacbackgrond-image的js插件。

Unit PNG Fix

原理

Unit PNG Fix工作原理是利用一个透明的gif图片来解决。

使用方法

首先加入js文件

<!--[if lt IE 7]>
<script type="text/javascript" src="unitpngfix.js"></script>
< ![endif]-->

把clear.gif文件拷贝到你的目录中,并在unitpngfix.js指定clear.gif的地址。

缺点

对于背景图片支持的不是很好,而且要添加另外的gif图片。
下载

DD_belatedPNG

原理

DD_belatedPNG 工作原理是利用VML技术来实现透明色。

使用方法

首先加入js文件

<!--[if lt IE 7]>
<script type="text/javascript" src="DD_belatedPNG.js"></script>
<script type="text/javascript">
DD_belatedPNG.fix('#id, .classname');
</script>
< ![endif]-->

引入DD_belatedPNG.js,然后给输入的css class 应用解决方案。

缺点

需要一个一个的添加css类,比较麻烦,当然你可以输入DD_belatedPNG.fix(‘img,a,div,span, li’) 这种大的css标签。
下载

总结

以上两个js插件,我更喜欢后者,它的稳定性更好,功能更强大,我一直用项目开发中使用后者。

Javascritp表单修饰控件 – niceforms

作web开发的人都知道,浏览器默认的表单样式,其实是很难看,很古板的,无论设计多优秀的页面,一旦使用这样的表单,设计效果无疑要大大折扣的。

Niceforms是一个基于Javascript的控件,它用个性设计的内容替代最常用的表单元素。从本质上改变了浏览器默认的呆板的表单形式。

您可以使用Niceforms提供的默认的主题,你也可以基于它来开发自己的表单效果。

普通表单

Personal Info
Preferences