基于Web的在线应用已经是一个逐步成熟的趋势,Web应用的丰富多样化,都是基于JavaScript框架完成的,其中 jQuery 框架被越来越多的Web开发者青睐,它可以让你“少写,多做”轻松完成复杂效果,这里就是基于jQuery 的14个图片放大编辑插件。

基于Web的在线应用已经是一个逐步成熟的趋势,Web应用的丰富多样化,都是基于JavaScript框架完成的,其中 jQuery 框架被越来越多的Web开发者青睐,它可以让你“少写,多做”轻松完成复杂效果,这里就是基于jQuery 的14个图片放大编辑插件。

在没有背景和图片填充的情况下,火狐和Chrome下不能直接点击绝对定位层下面的元素(比如链接),下面的链接被上面的绝对定位层挡住了。在IE里面是可以直接点击绝对定位层下面的链接。
对于这种问题需要用到一个css3的属性,可以通过给绝对定位的层多加一个样式 pointer-events:none; 以后, 绝对定位层下的元素就可以点击了。
光给绝对定位的层添加pointer-events:none; 的样式是不够的,你可以发现所有在此层里的元素,都不能点击了,就连链接和按钮也同样不起作用,所以我们需要给绝对定位层中的其他非空的元素把样式再返回。
给里面的元素重新设置为 pointer-events:auto,只给需要操作的元素区域设置即可。
pointer-events属性有很多值:
pointer-events: auto | none | visiblePainted | visibleFill | visibleStroke | visible | painted | fill | stroke | all | inherit
但是对于浏览器来说,只有auto和non两个值可用,其它的几个是针对SVG的(本身这个属性就来自于SVG技术)。
下面介绍一下pointer-events这两个属性值详细描述
auto——效果和没有定义pointer-events属性相同,鼠标不会穿透当前层。在SVG中,该值和visiblePainted的效果相同。
none——元素不再是鼠标事件的目标,鼠标不再监听当前层而去监听下面的层中的元素。但是如果它的子元素设置了pointer-events为其它值,比如auto,鼠标还是会监听这个子元素的。
其它属性值为SVG专用,这里不再多介绍了。
对于浏览器兼容的问题:Firefox 3.6+和chrome 2.0+ 以及safari 4.0+都支持这个CSS3属性。
这几天关注了一下PHP的采集程序,才发现用PHP采集内容是这么方便,把经常用到的采集函数在这里总结一下,方便以后使用!
function getAllURL($code){
preg_match_all('/<a\s+href=["|\']?([^>"\' ]+)["|\']?\s*[^>]*>([^>]+)<\/a>/i',$code,$arr);
return array('name'=>$arr[2],'url'=>$arr[1]);
}
function getImgSrc($code){
$reg = "/]*src=\"(http:\/\/(.+)\/(.+)\.(jpg|gif|bmp|bnp|png))\"/isU";
preg_match_all($reg, $code, $img_array, PREG_PATTERN_ORDER);
return $img_array[1];
}
function getSelfURL(){
if(!empty($_SERVER["REQUEST_URI"])){
$scriptName = $_SERVER["REQUEST_URI"];
$nowurl = $scriptName;
}else{
$scriptName = $_SERVER["PHP_SELF"];
if(empty($_SERVER["QUERY_STRING"])) $nowurl = $scriptName;
else $nowurl = $scriptName."?".$_SERVER["QUERY_STRING"];
}
return $nowurl;
}
继续阅读
在修改和制作Wordpress主题时经常为不知道内置函数而苦恼,而wordpress官方的文档看起来又不是那么方便。所搜集并且整理了一下放这,以备后用。
is_home() : 是否为主页
is_single() : 是否为内容页(Post)
is_page() : 是否为内容页(Page)
is_category() : 是否为Category/Archive页
is_tag() : 是否为Tag存档页
is_date() : 是否为指定日期存档页
is_year() : 是否为指定年份存档页
is_month() : 是否为指定月份存档页
is_day() : 是否为指定日存档页
is_time() : 是否为指定时间存档页
is_archive() : 是否为存档页
is_search() : 是否为搜索结果页
is_404() : 是否为 “HTTP 404: Not Found” 错误页
is_paged() : 主页/Category/Archive页是否以多页显示
最近开发了一个在线的采集工具,可以根据URL来获取当前页面里的图片信息,比如说图片地址,图片标签里的属性,以及通过打包(zip)的形式下载请求页面中获取到的图片。有兴趣的朋友可以查看一下下面的DEMO页面,来进行采集图片:
http://www.ityizhan.com/demo/download-image/
这个DEMO页面只是实现了最基本的两个部分:采集地址和打包下载。目前尚在测试阶段,还在进行的更新,希望大家发现问题能及时反馈,成为大家采集图片的方便工具。
根据不断的测试,以后还可能增加的新功能有,自动调整图片的大小,设置打包图片的名称规则,合并和分解图片。。。。反正想添加的功能挺多的,有什么好的建议也希望大家能留言。
下面说一下这个工具现有功能的实现方法:
这个功能最主要的就是用正则表达式来匹配页面源码里的图片地址了,这里用到得正则表达式是:
/<img.*src="(.*)"\\s*.*>/iU
首页通过PHP自带的读取文件函数来获得请求页面的html代码,然后用正则表达式来匹配里面的src地址,这里有两个注意点:
//现在模拟的是一个Window 环境下的浏览器
ini_set('user_agent','Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; 4399Box.560; .NET4.0C; .NET4.0E)');jQuery Uploadify 是一个强有力的而且可以高度自定义的文件上传插件,它是基于jQuery 和 SWFUpload 来开发的,支持进度条显示,实现的效果非常不错。可以见下图:
从Uploadify 的下载页面上,可以看到当前的版本已经是Uploadify-v3.0.0 (Beta),但是还是一个Beta版,所以目前来说网站上的文档主要是针对 uploadify v2.14 的。所以这里就不多介绍老版本的文档了,主要说一下Uploadify3.0 的一些用法。
Uploadify 的v3.0 和老版本还是有很大的差别的,虽然从演示上来看基本上一样,但是jquery调用uploadify的时候,一些很重要的参数名字都变了。在演示上的差别,老版本是把按钮的样式放在flash里,而v3.0把按钮的样式和flash 分开了,定义起来更加自由。
下面来说一下v3.0 的使用方法和有哪些参数上变化: 继续阅读
微博流行已经很久了,在各大门户已经开放注册,功能齐全,甚至有些还开放API,腾讯微博发布出来以后凭借着庞大的用户群,很快也受到了用户的关 注。目前腾讯微博尚处于内测阶段,没有公开的API。很多用户希望能够更新自己其他的微博时,能同时更新自己的腾讯微博,或者通过程序来给多个帐号更新微博内容。其实更新内容并不难,主要是登录问题,登录以后要保存COOKIE,COOKIE存在才可以进行更新微博内容,收听微博等操作。

下面来介绍一下如何通过PHP来进行腾讯微博操作,也可以直接查看演示。
腾讯的登录需要两个步鄹,第一步是根据自己的QQ号获取验证码,验证地址是:
http://ptlogin2.qq.com/check?uin=@'.$qq.'&appid=46000101
其中$qq代表你的微博帐号,通过这个验证你可以得到如下的结果:
ptui_checkVC('0','!CCQ');
其中!CCQ就是对应的验证码。这是一个随机码,每次访问都会有变化的。第二步就是把用户名,密码和验证码等信息提交到下面的地址: 继续阅读
也许经常来这里光顾的朋友应该注意到,网站的右侧的sidebar多了一个新的栏目–“TEXT LINK AD”,这便是本网站在Text Link Ad 卖出的第一个链接。
注册Text Link Ad已经有一年之久了,起初比较关注里面的一举一动,后来渐渐的兴趣就比较消弱了,因为在这一年多的时间里,没有得到过里面的一点反馈,不知道是网站的设置有问题还是网站的内容的问题。可以前不久缺突然收到一封来自Text Link Ad 的邮件,邮件的标题用很醒目的字写着:“Text Link Ad Sold”。 看到这个邮件才让我把失去信心的Text Link Ad 重新拿起来。
如果大家对Text-Link-Ads 感兴趣的话,可以查看《TEXT LINK ADS 网站赚钱》
收到广告卖出的邮件是在上个的中旬,因为Text Link Ad里的佣金是按照每个自然月来支付的,那么我上个月中旬开始卖出的广告应该只有半个月的费用,佣金是在每个月的一号进行支付。这里给大家分享一下Text Link Ad卖出广告的状态和自己的一些心得。
首先登录Text Link Ad的网站,然后在左侧的“Money Earned”菜单里可以看到你当前卖出的广告:
关于jQuery插件开发中的重要函数可以参考:jQuery插件开发中几个重要的函数 。这里主要介绍一下jQuery开发通用的一个框架:
;(function($){
$.fn.yourName = function(options){
//各种属性、参数
}
var options = $.extend(defaults, options);
this.each(function(){
//插件实现代码
});
};
})(jQuery);
jquery.ui.widget.js提供了一个工厂方法来建立小部件的类,签名如下:
$.widget(String name, Options prototype)
调用建立小部件工厂的方法用来建立和与小部件的实例相互作用
除了由原型提供的参数以后,下面默认的方法对每一个实例都是有效的
* destroy(): 从DOM节点删除这个实例
* option(String key[, String value]): 获取或者设置选项
* enable(): 设置disabled选项为false,这取决于实例选项
* disable(): 设置disabled选项为true,这取决于实例选项
每个实例可用的属性:
* options: 当前小部件实例的所有选项,它是由用户提供的所有设置的一个集合
* element: 是包含一个单独DOM节点的jQuery对象, 它可以通过this.element[0]来访问
继续阅读
jQuery.extend(target, [object1], [objectN])
返回值:对象(Object)
描述:合并两个或多个对象的内容到第一个对象
用法:在jQuery1.1.4后改方法新添一个参数 deep
jQuery.extend([deep], target, object1, [objectN])
参数:
deep 如果为true,合并就变成递归的合并
target 被扩展的对象,它将会收到新的属性
object1 一个包含了新增属性的对象,它将被合并到target中
objectN 多个新增的属性的对象
当我们提供两个或多个对象的时候,$.extend() 会把所有的对象都合并到目标对象,如果只提供了一个对象,那说明target对象是被省略了的,在这种情况下,jQuery对象假设自己的就是目标对象。