日期:2014-05-17  浏览次数:20712 次

很不错的效果
本帖最后由 kokobox 于 2010-12-30 11:37:17 编辑
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> 
<html> 
<head> 
<title>Wanna tell her - interactive DHTML </title> 
<meta http-equiv="imagetoolbar" content="no"> 
<style type="text/css"> 
html { 
overflow: hidden; 

body { 
position: absolute; 
margin: 0px; 
padding: 0px; 
background: #fff; 
width: 100%; 
height: 100%; 

#screen { 
position: absolute; 
left: 10%; 
top: 10%; 
width: 80%; 
height: 80%; 
background: #fff; 

#screen img { 
position: absolute; 
cursor: pointer; 
width: 0px; 
height: 0px; 
-ms-interpolation-mode:nearest-neighbor; 

#bankImages { 
visibility: hidden; 

#FPS { 
position: absolute; 
right: 5px; 
bottom: 5px; 
font-size: 10px; 
color: #666; 
font-family: verdana; 


</style> 

<script type="text/javascript"> 
/* ==== Easing function ==== */ 
var Library = {}; 
Library.ease = function () { 
this.target = 0; 
this.position = 0; 
this.move = function (target, speed) { 
this.position += (target - this.position) * speed; 



var tv = { 
/* ==== variables ==== */ 
O : [], 
fps : 0, 
screen : {}, 
angle : { 
x : new Library.ease(), 
y : new Library.ease() 
}, 
camera : { 
x    : new Library.ease(), 
y    : new Library.ease() 
}, 
create3DHTML : function (i, x, y, z, sw, sh) { 
/* ==== create HTML image element ==== */ 
var o = document.createElement('img'); 
o.src = i.src; 
tv.screen.obj.appendChild(o); 
/* ==== 3D coordinates ==== */ 
o.point3D = { 
x  : x, 
y  : y, 
z  : new Library.ease(), 
sw : sw, 
sh : sh, 
w  : i.width, 
h  : i.height 
}; 
o.point3D.z.target = z; 
/* ==== push object ==== */ 
o.point2D = {}; 
tv.O.push(o); 

/* ==== on mouse over event ==== */ 
o.onmouseover = function () { 
if (this != tv.o) { 
this.point3D.z.target = tv.mouseZ; 
tv.camera.x.target = this.point3D.x; 
tv.camera.y.target = this.point3D.y; 
if (tv.o)&n