2008-04-30

Mootools 可以對物件陣列做 forEach 操作的函數

除了上次在Mootools Event 設定函數中提到 addEvent()addEvents() 可以直接對物件陣列做操作外,Mootools 還有其他函數也支援這種用法:

//移除 id="button" 下所有 <a> 元素群的 click 事件
$$('#button a').removeEvent('click');

//移除 id="button" 下所有 <a> 元素群中的所有事件
$$('#button a').removeEvents();

//檢查 id="button" 下所有 <a> 元素群中是否有此"red"的class樣式
//會回傳一個 Array
$$('#button a').hasClass('red');

//為 id="button" 下所有 <a> 元素群加入"red"的class樣式
$$('#button a').addClass('red');

//移除 id="button" 下所有 <a> 元素群中有"red"的class樣式
$$('#button a').removeClass('red');

//切換 id="button" 下所有 <a> 元素群中"red"的class樣式
$$('#button a').toggleClass('red');

//設定 id="button" 下所有 <a> 元素群的color樣式為#F00
$$('#button a').setStyle('color','#F00');

//設定 id="button" 下所有 <a> 元素群的color及width樣式
$$('#button a').setStyles({
'color':'#F00',
'width': 300
});


類別庫:
Element.js
2008-04-17

iGoogle 上的日曆小工具

將日曆加入 iGoogle 分頁,這個小工具還可以置換成其他網頁
介紹網站:Your Page Here (an iGoogle gadget)
工具連結

利用 HTML/Javascript 小工具將 Google 日曆的 iframe 加入 iGoogle
介紹網站:Add Full Web Pages to iGoogle
工具連結
2008-04-07

[PHP] 圖檔上傳檢查


<?php
/*檢查上傳的圖片類型,並轉存成 JPG*/
if (isset ($_FILES['image'])) {
$imgFile = $_FILES['image'];
/*檔案存放路徑(目錄權限必須可寫入)*/
$imagePathDir = '/home/www/pics/';
/*上傳圖片文件類型列表 */
$uptypes = array (
'image/jpg',
'image/jpeg',
'image/pjpeg',
'image/gif',
'image/png'
);
/*產生唯一的檔案名稱*/
$imgName = md5(uniqid(rand())) . '.jpg';
/*檢查檔案大小 2Mb*/
if ($imgFile['size'] > 2097152) {
echo '檔案過大';
/*檢查文件類型 */
} elseif(in_array($imgFile['type'], $uptypes)) {
/*上傳圖片類型為jpg,pjpeg,jpeg */
if (strstr($imgFile['type'], "jp")) {
if(!($source = @ imageCreatefromjpeg($imgFile['tmp_name']))){
echo '檔案類型錯誤';
return;
}
/*上傳圖片類型為png */
}elseif(strstr($imgFile['type'], "png")) {
if(!($source = @ imagecreatefrompng($imgFile['tmp_name']))){
echo '檔案類型錯誤';
return;
}
/*上傳圖片類型為gif */
}elseif(strstr($imgFile['type'], "gif")) {
if(!($source = @ imagecreatefromgif($imgFile['tmp_name']))){
echo '檔案類型錯誤';
return;
}
/*其他例外圖片排除 */
} else {
echo '檔案類型錯誤';
return;
}
$w = imagesx($source); /*取得圖片的寬 */
$h = imagesy($source); /*取得圖片的高 */
/*檢查檔案最小尺寸 160px*160px */
if ($w < 160 || $h < 160) {
echo '檔案過小';
return;
}
/* 儲存到檔案目錄(JPG) */
imagejpeg($source, $imagePathDir . $imgName);
/* 列出檔案路徑 */
echo $imagePathDir . $imgName;
} else {
echo '檔案類型錯誤';
}
} else {
echo '其他錯誤';
}
?>
2008-04-06

MooCrop 正方形選取( Square )

MooCrop 是建構 MooTools 上的圖片裁切類別
不過本身沒有方形鎖定的功能
我利用一個簡單的觀念改寫原本的函數
將兩個方向的寬高同時加減
在初始為正方形的狀況下
不管如何縮放都會達成正方形

我還增加預覽裁切功能

範例(example)
展示(demo)