/*处理表单元素得到焦点与失去焦点*/
jQuery(’.input_text’).focus(function(){
var i = jQuery(this).attr(’init_val’);
var t = jQuery(this).attr(’user_val’);
if(i==undefined){
//记录初始值
jQuery(this).attr(’init_val’,jQuery(this).val());
jQuery(this).val(”);
}else if(i==jQuery(this).val()){
jQuery(this).val(”);
}else{
jQuery(this).val(t);
}
jQuery(this).css(’color’,'#333′);
}).blur(function(){

i = jQuery(this).attr(’init_val’);

if(jQuery(this).val()==”|| jQuery(this).val()==i){
jQuery(this).css(’color’,'#bbb’);
jQuery(this).val(jQuery(this).attr(’init_val’));
}else{
jQuery(this).attr(’user_val’,jQuery(this).val());
jQuery(this).css(’color’,'#333′);
}

});

function reinitIframe(){
var iframe = document.getElementById(”frame_content”);
try{
var bHeight = iframe.contentWindow.document.body.scrollHeight;
var dHeight = iframe.contentWindow.document.documentElement.scrollHeight;
var height = Math.max(bHeight, dHeight);
iframe.height = height;
}catch (ex){}
}
window.setInterval(”reinitIframe()”, 1000);

在新浪站上看到的不错,收藏下.

改良的smartTruncate: 文件名:modifier.smartTruncate.php

function smartDetectUTF8($string)
{
static $result = array();

if(! array_key_exists($key = md5($string), $result))
{
$utf8 = "
/^(?:
[\x09\x0A\x0D\x20-\x7E] # ASCII
| [\xC2-\xDF][\x80-\xBF] # non-overlong 2-byte
| \xE0[\xA0-\xBF][\x80-\xBF] # excluding overlongs
| [\xE1-\xEC\xEE\xEF][\x80-\xBF]{2} # straight 3-byte
| \xED[\x80-\x9F][\x80-\xBF] # excluding surrogates
| \xF0[\x90-\xBF][\x80-\xBF]{2} # planes 1-3
| [\xF1-\xF3][\x80-\xBF]{3} # planes 4-15
| \xF4[\x80-\x8F][\x80-\xBF]{2} # plane 16
)+$/xs
";

$result[$key] = preg_match(trim($utf8), $string);
}

return $result[$key];
}

function smartStrlen($string)
{
$result = 0;

$number = smartDetectUTF8($string) ? 3 : 2;

for($i = 0; $i < strlen($string); $i += $bytes)
{
$bytes = ord(substr($string, $i, 1)) > 127 ? $number : 1;

$result += $bytes > 1 ? 1.0 : 0.5;
}

return $result;
}

function smartSubstr($string, $start, $length = null)
{
$result = '''';

$number = smartDetectUTF8($string) ? 3 : 2;

if($start < 0)
{
$start = max(smartStrlen($string) + $start, 0);
}

for($i = 0; $i < strlen($string); $i += $bytes)
{
if($start <= 0)
{
break;
}

$bytes = ord(substr($string, $i, 1)) > 127 ? $number : 1;

$start -= $bytes > 1 ? 1.0 : 0.5;
}

if(is_null($length))
{
$result = substr($string, $i);
}
else
{
for($j = $i; $j < strlen($string); $j += $bytes)
{
if($length <= 0)
{
break;
}

if(($bytes = ord(substr($string, $j, 1)) > 127 ? $number : 1) > 1)
{
if($length < 1.0)
{
break;
}

$result .= substr($string, $j, $bytes);
$length -= 1.0;
}
else
{
$result .= substr($string, $j, 1);
$length -= 0.5;
}
}
}

return $result;
}

function smarty_modifier_smartTruncate($string, $length = 80, $etc = ''...'',
$break_words = false, $middle = false)
{
if ($length == 0)
return '''';

if (smartStrlen($string) > $length) {
$length -= smartStrlen($etc);
if (!$break_words && !$middle) {
$string = preg_replace(''/\s+?(\S+)?$/'', '''', smartSubstr($string, 0, $length+1));
}
if(!$middle) {
return smartSubstr($string, 0, $length).$etc;
} else {
return smartSubstr($string, 0, $length/2) . $etc . smartSubstr($string, -$length/2);
}
} else {
return $string;
}
}
?>

以上代码完整实现了truncate的原有功能,而且可以同时兼容GB2312和UTF-8编码,在判断字符长度的时候,一个中文字符算1.0,一个英文字符算0.5,所以在截取子字符串的时候不会出现参差不齐的情况.

插件的使用方式没有特别之处,这里简单测试一下:

{$content|smartTruncate:5:”..”}($content等于”A中B华C人D民E共F和G国H”)

显示:A中B华C.. (中文符号长度算1.0,英文符号长度算0.5,并且考虑省略符号的长度)

不管你是使用GB2312编码还是UTF-8编码,你会发现结果都正确,这也是为什么我在插件名字里加上smart字样的原因之一。

suspendcode=”

关闭对联广告

document.write(suspendcode);

var hp = {

lastScrollY : 0,

byID : function(_id){ return document.getElementById(_id);},

init : function(id){
var st = document.documentElement.scrollTop || document.body.scrollTop;
percent=.1*(st-this.lastScrollY);
if(percent>0){
percent=Math.ceil(percent);
}else{
percent=Math.floor(percent);
}

this.byID(id).style.top=parseInt(this.byID(id).style.top)+percent+”px”;
this.lastScrollY=this.lastScrollY+percent;
return id;
},

generate : function(){

},

start : function(id){
window.setInterval(”hp.init(’”+id+”‘)”,1);
}

};

hp.start(’lovexin1′);

需要在UTF8页面上才能使用!

// 建立一幅 100X30 的图像
$im = imagecreate(100, 30);

// 白色背景和蓝色文本
$font="C://WINDOWS//Fonts//simhei.ttf"; // linux 不知道如何处理.
$bg = imagecolorallocate($im, 255, 255, 255);
$textcolor = imagecolorallocate($im, 0, 0, 255);
$black = imagecolorallocate($im, 0, 0, 0);

// 写入中文
imagettftext($im, 20, 0, 10, 20, $textcolor, $font, "中文");

// 输出图像
header("Content-type: image/png");
imagepng($im);
?>

近年来,到外地旅游度假的人越来越多。可是,许多人到了外地尤其是国外,常会出现失眠乏力、食欲不振、腹胀、腹泻等症状,有的人甚至患上荨麻疹,满身起了红疙瘩,这就是人们通常所说的“水土不服”。

  在异地,水土中微量元素的分布、土壤的酸碱度及有机物含量,与原居住地相比都发生了较大变化,人的机体暂时不能适应气候、水质、饮食等生活环境的突然改变,就会产生一系列不适症状,比如,食物或水中的锌缺乏会影响食欲,铁过量会导致头晕乏力。另外,当地的水质及饮食结构还会改变人肠道内正常菌群的类别及数量,破坏肠道菌群原有的生态平衡,导致胃肠道紊乱,使人出现腹胀、腹泻等症状。

  初到外地时,如果身体不适,不妨采取以下措施:

  第一,睡前饮用蜂蜜。中医认为,水土不服的发生与脾胃虚弱有密切关系,蜂蜜不仅可以健脾和胃,还有镇静、安神的作用,因为蜂蜜中所含的葡萄糖、维生素以及磷、钙等物质能够调节神经系统功能紊乱,从而促进睡眠。

  而且,因环境改变引起的肠道菌群失调,还可能引起便秘,适当饮用蜂蜜也是不错的办法。

  第二,常喝茶。茶叶中含有多种微量元素,可以及时补充当地食物、水中所含微量元素的不足;茶叶还具有提神利尿的作用,能加速血液循环,有利于致敏物质排出体外,减少荨麻疹的发生。

  第三,品尝“风味特产”要适量,多喝酸奶。酸奶中的乳酸菌有助于保持肠道菌群的平衡,能最大限度避免胃肠道紊乱诱发的腹痛、腹泻等不适。如果不慎出现了腹胀、腹泻,必要时可服用吗叮啉或黄连素片,恶心呕吐者可服胃复安。

  第四,很多人还会出现咽喉疼痛、口腔溃疡、鼻出血、便秘等“上火”症状。应尽量保持原有的生活习惯;作息正常;选择与原来口味相近的食物;少食辛辣,多吃清淡的果蔬及粗纤维食物;多喝水。▲

  《环球时报 生命周刊》 2005年11月15日 第四版

初到上海

In: 默认分类

15 2009

早上刚下飞机,以前的同事来接我的, 心情挺高兴的, 在公司附近逛了一会, 风很大很冷, 越来越想家了…
晚上到以前同事送我到另一个同事租的地方, 两个熟悉的人在一起温暖多了…
人果然是群居的动物啊…
马克 by 2009.3.13

昨天来上海,今天出去找房子, 心情百般滋味啊,发个贴子共勉一下.希望会越来越好
马克 by 2009.3.14

今天住进自己租的房子, 跟一个东北MM夫妇合租. 82年的MM跟我老婆年龄差不多, 身份证上显示是吉林长春的. 他老公还是男朋友听口音也是东北人. 不过这里的设备很多都是坏了. 热水器坏了, 洗衣机坏了, 希望热水器早点能搞好, 今天有点头晕不知道是不是感冐了. 药店也不知道在哪里. 明天去了解一下环境吧.

今天出去买了被子床单之类的差不多用了6XX, 还买了个无线路由器3XX, 这里的物价好贵啊, 1K转眼就没有了, 明天签合同房租是付二押一的, 唉上海物价真是好贵啊…..
出门后才发现家里是多发的美好.
马克 by 2009.3.15

概述
jQuery 是继 prototype 之后又一个优秀的 Javascript 框架。其宗旨是—写更少的代码,做更多的事情。它是轻量级的 js 库(压缩后只有21k) ,这是其它的 js 库所不及的,它兼容 CSS3,还兼容各种浏览器(IE 6.0+, FF 1.5+, Safari 2.0+, Opera 9.0+)。 jQuery 是一个快速的,简洁的 javaScript 库,使用户能更方便地处理 HTML documents、events、实现动画效果,并且方便地为网站提供 AJAX 交互。 jQuery 还有一个比较大的优势是,它的文档说明很全,而且各种应用也说得很详细,同时还有许多成熟的插件可供选择。 jQuery 能够使用户的 html 页保持代码和 html 内容分离,也就是说,不用再在 html 里面插入一堆js来调用命令了,只需定义 id 即可。今天在Kollermedia.at上发现了一篇JQuery插件列表的文章,特推荐如下。

文件上传(File upload)
Ajax File Upload.
jQUploader.
Multiple File Upload plugin.
jQuery File Style.
Styling an input type file.
Progress Bar Plugin.

表单验证(Form Validation)
jQuery Validation.
Auto Help.
Simple jQuery form validation.
jQuery XAV – form validations.
jQuery AlphaNumeric.
Masked Input.
TypeWatch Plugin.
Text limiter for form fields.
Ajax Username Check with jQuery.

表单-选取框(Form – Select Box stuff)
jQuery Combobox.
jQuery controlled dependent (or Cascadign) Select List.
Multiple Selects.
Select box manipulation.
Select Combo Plugin.
jQuery – LinkedSelect
Auto-populate multiple select boxes.
Choose Plugin (Select Replacement).

表单基本、输入框、选择框等(Form Basics, Input Fields, Checkboxes etc.)
jQuery Form Plugin.
jQuery-Form.
jLook Nice Forms.
jNice.
Ping Plugin.
Toggle Form Text.
ToggleVal.
jQuery Field Plugin.
jQuery Form’n Field plugin.
jQuery Checkbox manipulation.
jTagging.
jQuery labelcheck.
Overlabel.
3 state radio buttons.
ShiftCheckbox jQuery Plugin.
Watermark Input.
jQuery Checkbox (checkboxes with imags).
jQuery SpinButton Control.
jQuery Ajax Form Builder.
jQuery Focus Fields.
jQuery Time Entry.

时间、日期和颜色选取(Time, Date and Color Picker)
jQuery UI Datepicker.
jQuery date picker plugin.
jQuery Time Picker.
Time Picker.
ClickPick.
TimePicker.
Farbtastic jQuery Color Picker Plugin.
Color Picker by intelliance.fr.

投票插件(Rating Plugins)
jQuery Star Rating Plugin.
jQuery Star Rater.
Content rater with asp.net, ajax and jQuery.
Half-Star Rating Plugin.

搜索插件(Search Plugins)
jQuery Suggest.
jQuery Autocomplete.
jQuery Autocomplete Mod.
jQuery Autocomplete by AjaxDaddy.
jQuery Autocomplete Plugin with HTML formatting.
jQuery Autocompleter.
AutoCompleter (Tutorial with PHP&MySQL).
quick Search jQuery Plugin.

编辑器(Inline Edit & Editors)
jTagEditor.
WYMeditor.
jQuery jFrame.
Jeditable – edit in place plugin for jQuery.
jQuery editable.
jQuery Disable Text Select Plugin.
Edit in Place with Ajax using jQuery.
jQuery Plugin – Another In-Place Editor.
TableEditor.
tEditable – in place table editing for jQuery.

多媒体、视频、Flash等(Audio, Video, Flash, SVG, etc)
jMedia – accessible multi-media embedding.
JBEdit – Ajax online Video Editor.
jQuery MP3 Plugin.
jQuery Media Plugin.
jQuery Flash Plugin.
Embed QuickTime.
SVG Integration.

图片(Photos/Images/Galleries)
ThickBox.
jQuery lightBox plugin.
jQuery Image Strip.
jQuery slideViewer.
jQuery jqGalScroll 2.0.
jQuery – jqGalViewII.
jQuery – jqGalViewIII.
jQuery Photo Slider.
jQuery Thumbs – easily create thumbnails.
jQuery jQIR Image Replacement.
jCarousel Lite.
jQPanView.
jCarousel.
Interface Imagebox.
Image Gallery using jQuery, Interface & Reflactions.
simple jQuery Gallery.
jQuery Gallery Module.
EO Gallery.
jQuery ScrollShow.
jQuery Cycle Plugin.
jQuery Flickr.
jQuery Lazy Load Images Plugin.
Zoomi – Zoomable Thumbnails.
jQuery Crop – crop any image on the fly.
Image Reflection.

Google地图(Google Map)
jQuery Plugin googlemaps.
jMaps jQuery Maps Framework.
jQmaps.
jQuery & Google Maps.
jQuery Maps Interface forr Google and Yahoo maps.
jQuery J Maps – by Tane Piper.

游戏(Games)
Tetris with jQuery.
jQuery Chess.
Mad Libs Word Game.
jQuery Puzzle.
jQuery Solar System (not a game but awesome jQuery Stuff).

表格等(Tables, Grids etc.)
UI/Tablesorter.
jQuery ingrid.
jQuery Grid Plugin.
Table Filter – awesome!.
TableEditor.
jQuery Tree Tables.
Expandable “Detail” Table Rows.
Sortable Table ColdFusion Costum Tag with jQuery UI.
jQuery Bubble.
TableSorter.
Scrollable HTML Table.
jQuery column Manager Plugin.
jQuery tableHover Plugin.
jQuery columnHover Plugin.
jQuery Grid.
TableSorter plugin for jQuery.
tEditable – in place table editing for jQuery.
jQuery charToTable Plugin.
jQuery Grid Column Sizing.
jQuery Grid Row Sizing.

统计图(Charts, Presentation etc.)
jQuery Wizard Plugin .
jQuery Chart Plugin.
Bar Chart.

边框、圆角、背景(Border, Corners, Background)
jQuery Corner.
jQuery Curvy Corner.
Nifty jQuery Corner.
Transparent Corners.
jQuery Corner Gallery.
Gradient Plugin.

文字和超链接(Text and Links)
jQuery Spoiler plugin.
Text Highlighting.
Disable Text Select Plugin.
jQuery Newsticker.
Auto line-height Plugin.
Textgrad – a text gradient plugin.
LinkLook – a link thumbnail preview.
pager jQuery Plugin.
shortKeys jQuery Plugin.
jQuery Biggerlink.
jQuery Ajax Link Checker.

鼠标提示(Tooltips)
jQuery Plugin – Tooltip.
jTip – The jQuery Tool Tip.
clueTip.
BetterTip.
Flash Tooltips using jQuery.
ToolTip.

菜单和导航(Menus, Navigations)
jQuery Tabs Plugin – awesome! . [demo nested tabs.]
another jQuery nested Tab Set example (based on jQuery Tabs Plugin).
jQuery idTabs.
jdMenu – Hierarchical Menu Plugin for jQuery.
jQuery SuckerFish Style.
jQuery Plugin Treeview.
treeView Basic.
FastFind Menu.
Sliding Menu.
Lava Lamp jQuery Menu.
jQuery iconDock.
jVariations Control Panel.
ContextMenu plugin.
clickMenu.
CSS Dock Menu.
jQuery Pop-up Menu Tutorial.
Sliding Menu.

http://stilbuero.de/jquery/tabs_3/

幻灯、翻转等(Accordions, Slide and Toggle stuff)
jQuery Plugin Accordion.
jQuery Accordion Plugin Horizontal Way.
haccordion – a simple horizontal accordion plugin for jQuery.
Horizontal Accordion by portalzine.de.
HoverAccordion.
Accordion Example from fmarcia.info.
jQuery Accordion Example.
jQuery Demo – Expandable Sidebar Menu.
Sliding Panels for jQuery.
jQuery ToggleElements.
Coda Slider.
jCarousel.
Accesible News Slider Plugin.
Showing and Hiding code Examples.
jQuery Easing Plugin.
jQuery Portlets.
AutoScroll.
Innerfade.

拖放插件(Drag and Drop)
UI/Draggables.
EasyDrag jQuery Plugin.
jQuery Portlets.
jqDnR – drag, drop resize.
Drag Demos.

XML XSL JSON Feeds
XSLT Plugin.
jQuery Ajax call and result XML parsing.
xmlObjectifier – Converts XML DOM to JSON.
jQuery XSL Transform.
jQuery Taconite – multiple Dom updates.
RSS/ATOM Feed Parser Plugin.
jQuery Google Feed Plugin.

浏览器(Browserstuff)
Wresize – IE Resize event Fix Plugin.
jQuery ifixpng.
jQuery pngFix.
Link Scrubber – removes the dotted line onfocus from links.
jQuery Perciformes – the entire suckerfish familly under one roof.
Background Iframe.
QinIE – for proper display of Q tags in IE.
jQuery Accessibility Plugin.
jQuery MouseWheel Plugin.

对话框、确认窗口(Alert, Prompt, Confirm Windows)
jQuery Impromptu.
jQuery Confirm Plugin.
jqModal.
SimpleModal.

CSS
jQuery Style Switcher.
JSS – Javascript StyleSheets.
jQuery Rule – creation/manipulation of CSS Rules.
jPrintArea.

DOM、AJAX和其它JQuery插件(DOM, Ajax and other jQuery plugins)
FlyDOM.
jQuery Dimenion Plugin.
jQuery Loggin.
Metadata – extract metadata from classes, attributes, elements.
Super-tiny Client-Side Include Javascript jQuery Plugin.
Undo Made Easy with Ajax.
JHeartbeat – periodically poll the server.
Lazy Load Plugin.
Live Query.
jQuery Timers.
jQuery Share it – display social bookmarking icons.
jQuery serverCookieJar.
jQuery autoSave.
jQuery Puffer.
jQuery iFrame Plugin.
Cookie Plugin for jQuery.
jQuery Spy – awesome plugin.
Effect Delay Trick.
jQuick – a quick tag creator for jQuery.
Metaobjects.
elementReady.

英文:http://www.kollermedia.at/archive/2007/11/21/the-ultimate-jquery-plugin-list/

用attachEvent()/addEventListener()方法添加触发事件2007-05-12 15:11在近来的工作中,用到了attachEvent方法,该方法可以为某一事件附加其它的处理事件,有时候可能比较有用,这里将其基本用法总结一下。

其语法可以查看《DHTML手册》,里面有详细的说明,这里贴一个例子,该例子来自互联网:

document.getElementById(”btn”).onclick = method1;
document.getElementById(”btn”).onclick = method2;
document.getElementById(”btn”).onclick = method3;
如果这样写,那么将会只有medhot3被执行

写成这样:
var btn1Obj = document.getElementById(”btn1″);
//object.attachEvent(event,function);
btn1Obj.attachEvent(”onclick”,method1);
btn1Obj.attachEvent(”onclick”,method2);
btn1Obj.attachEvent(”onclick”,method3);
执行顺序为method3->method2->method1

如果是Mozilla系列,并不支持该方法,需要用到addEventListener
var btn1Obj = document.getElementById(”btn1″);
//element.addEventListener(type,listener,useCapture);
btn1Obj.addEventListener(”click”,method1,false);
btn1Obj.addEventListener(”click”,method2,false);
btn1Obj.addEventListener(”click”,method3,false);
执行顺序为method1->method2->method3

// ...

$adodb->startTrans();

//实际,getOne所调用的查询也可以直接放到rowLock来进行,这里只是为了演示效果能更明显些。

$adodb->rowLock(’book’, ‘book_id = 123′);

$bookNumber = $adodb->getOne(”SELECT book_number FROM book WHERE book_id = 123″);

$adodb->execute(”UPDATE book SET book_number = book_number – 1 WHERE book_id = 123″);

$adodb->completeTrans();

// …
?>

About this blog

PHP程序员,也是前端开发人员

Photostream

 

2009年七月
« 六    
 12345
6789101112
13141516171819
20212223242526
2728293031