1. 程式人生 > >使用HTML標籤的屬性對圖片進行旋轉效果

使用HTML標籤的屬性對圖片進行旋轉效果

這兩天老大讓我寫一個讓照片翻轉的效果,甚是痛苦,下面是我的一些個人心得

在W3C官方的標準裡,通過transform屬性使物件旋轉的寫法如下:
transform: rotate(40deg); /* 其中40是旋轉的角度 */

可是由於目前幾乎所有的瀏覽器對這個屬性的渲染效率都很低,所以我們可以用下面的hack去提高渲染效率:
-o-transform: rotate(40deg); /* Opera瀏覽器 */
-webkit-transform: rotate(40deg); /* Webkit核心瀏覽器 */
-moz-transform: rotate(40deg); /* Firefox瀏覽器 */

下面是IE旋轉濾鏡的程式碼——right是順時針旋轉,left是逆時針旋轉

var right90="progid:DXImageTransform.Microsoft.Matrix(M11=0,M21=1,M12=-1,M22=0, sizingmethod='auto expand')";
var right180="progid:DXImageTransform.Microsoft.Matrix(M11=-1,M21=0,M12=0,M22=-1, sizingmethod='auto expand')";
var right270="progid:DXImageTransform.Microsoft.Matrix(M11=0,M21=-1,M12=1,M22=0, sizingmethod='auto expand')";
var right360="";
var left90="progid:DXImageTransform.Microsoft.Matrix(M11=0,M21=-1,M12=1,M22=0, sizingmethod='auto expand')";
var left180="progid:DXImageTransform.Microsoft.Matrix(M11=-1,M21=0,M12=0,M22=-1, sizingmethod='auto expand')";
var left270="progid:DXImageTransform.Microsoft.Matrix(M11=0,M21=1,M12=-1,M22=0, sizingmethod='auto expand')";

如何在外掛中新增需要的屬性值?
也許在外掛中新增一些標記性的屬性是很難的,因為在初始化的時候就需要對其進行賦值,因此要弄懂外掛的原理,對於應用來說沒有必要弄清楚裡面的工作原理,那如何新增這樣的標記值呢?其實可以自己新增一個HTML標籤,然後再在HTML標籤中新增自己定義的屬性,給該屬性賦值,就能當做是記錄全域性變數的引數,只要頁面不重新整理,這個值就是一直存在的,符合ajax的操作規則。

如何給下面的給標籤新增自定義的屬性?(使用jquery幫助解決)

$("#change_image_").attr("_height",$("#lightbox-image").css("height"));//作為全域性變數新增引數
$("#change_image_").attr("_width",$("#lightbox-image").css("width"));
$("#lightbox-image").css("filter",right270);//新增濾鏡效果
$("#lightbox-image").attr("_rotate",image_rotate_angle);//作為旋轉角度的標記

幾種重新整理頁面的方法:
window.location.reload()//重新整理當前頁面.
parent.location.reload()//重新整理父親物件(用於框架)
opener.location.reload()//重新整理父視窗物件(用於單開視窗)
top.location.reload()   //重新整理最頂端物件(用於多開視窗)