很久以前就看過一個3DRoom效果,是用復(fù)雜 " /> xxxx午夜,国产日批,国产精品一区二区在线观看免费

中文字幕日韩一区二区_国产一区二区av_国产毛片av_久久久久国产一区_色婷婷电影_国产一区二区精品

JavaScript 圖片3D展示空間(3DRoom)

  一般的平面效果,通過改變水平和垂直坐標就能實現(xiàn),再加上深度,就能在視覺上的產(chǎn)生3D(三維)的效果。程序就是模擬這樣一個三維空間,里面的圖片會根據(jù)三維坐標顯示在這個空間。
很久以前就看過一個3DRoom效果,是用復(fù)雜的計算實現(xiàn)的。在上一篇圖片變換研究過css3的transform之后,就想到一個更簡單的方法來實現(xiàn)。
  兼容:ie6/7/8, firefox 3.6.8, opera 10.6, safari 5.0.1, chrome 5.0

  實現(xiàn)原理

  3D效果的關(guān)鍵,是深度的實現(xiàn)。把3D容器看成一個由多個不同深度的層組成的空間,這些層的尺寸默認跟容器一樣。層里面放了該深度的圖片,并且各個層會根據(jù)深度的變化做縮放變換,從視覺上產(chǎn)生深度差??s放變換的比例按照最近點為1,最遠點為0,逐漸變化。關(guān)鍵的地方是層里面圖片的尺寸和坐標必須跟著層同時變換,這個通過css3的transform很簡單就能實現(xiàn)。這樣圖片只需設(shè)置好尺寸再相對層定好位就行了,避免了隨深度變化要不斷調(diào)整圖片尺寸和定位的麻煩。
  圖片加載

  在程序初始化之后,就可以調(diào)用add方法來添加圖片。add方法有兩個參數(shù):圖片地址和參數(shù)對象,還會返回一個圖片操作對象。操作對象包含以下屬性和方法,方便對圖片進行操作:
  img: 圖片元素
  src: 圖片地址
  options: 參數(shù)對象
  show: 顯示圖片方法
  remove: 移除圖片方法
  其中options可以設(shè)置如下屬性:
  屬性:    默認值//說明
  x:  0,//水平位移
  y:  0,//垂直位移
  z:  0,//深度
  width: 0,//寬度
  height: 0,//高度
  scaleW: 1,//寬度縮放比例
  scaleH: 1//高度縮放比例
  其中x、y分別是水平和垂直坐標的位移參數(shù),坐標原點在容器底部中間,水平坐標向右,縱坐標向上,單位是px。而z是深度,用于比例的計算,方向由近點到原點。
  坐標系如下圖:
  圖片加載成功后,就會執(zhí)行_load圖片加載程序。首先根據(jù)參數(shù)設(shè)置圖片樣式:

layer = document.createElement("div");
layer.style.cssText
= "position:absolute;border:0;padding:0;margin:0;left:0;top:0;visibility:hidden;background:transparent;width:" + this._clientWidth + "px;height:" + this._clientHeight + "px;";

it知識庫JavaScript 圖片3D展示空間(3DRoom),轉(zhuǎn)載需保留來源!

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 夜夜精品浪潮av一区二区三区 | 日本免费在线观看视频 | 国产91在线播放 | 久久这里只有精品首页 | 亚洲精品久久久一区二区三区 | 成人精品国产免费网站 | 亚洲欧美日韩一区二区 | 日韩一级黄色片 | 涩涩鲁亚洲精品一区二区 | 久久国产精品久久久久 | 四虎影院免费在线 | 99在线精品视频 | 久草视频观看 | 欧美一区二区免费视频 | 成年视频在线观看 | 天天操天天插 | 成人免费在线观看视频 | 亚洲精品一二区 | 欧美a在线| 性高湖久久久久久久久aaaaa | 最新中文字幕在线播放 | 色综合天天天天做夜夜夜夜做 | 欧美日本在线观看 | 91精品国产综合久久久久久蜜臀 | 午夜a级理论片915影院 | 伊人免费网 | 蜜桃av鲁一鲁一鲁一鲁 | 亚洲第一福利网 | 黄色骚片 | 4hu最新网址 | 亚洲精品视频在线看 | 亚洲网站在线观看 | 九九热精品视频 | 成人在线电影网站 | 国产毛片av | 久久一区| 欧美日韩综合一区 | wwwww在线观看| 欧美 日韩 国产 在线 | 黄色精品| 国产成人精品久久二区二区91 |