3D浮动图像

原创 2016年06月02日 12:49:54
 
把如下代码复制到<head></head>之间
 
<xml:namespace ns="urn:schemas-microsoft-com:vml" prefix="v"/>
<style>
v\:* { behavior: url(#default#VML); }
</style>
 
 
把如下代码复制到<body></body>之间
 

<SCRIPT>
// 3D-Slideshow
// more javascript from http://www.smallrain.net
var slideurl=new Array()
slideurl[0]="pic/blender.png"
slideurl[1]="pic/aim.png"
slideurl[2]="pic/babelfish.png"

// add a corresponding link for each image
// if you don't wont to link an image, enter "#"
var slidelink=new Array()
slidelink[0]="http://www.butong.net"
slidelink[1]="http://bz.butong.net"
slidelink[2]="http://www.butong.net/it/index.htm"

// add a corresponding target for each link
// acceptable values "_blank" or "_top" or "_parent" or "_self"
var slidetarget=new Array()
slidetarget[0]="_blank"
slidetarget[1]="_self"
slidetarget[2]="_top"

// set the width of the 3D-border (pixels)
var backdepth=6

// set thecolorof the 3D-border (HTML-values required)
var fillcolor="#666666"

// set the standstill (seconds) for the images (required for Netscape Navigator)
var standstill=3

// set the form of the imageframe
// acceptable values are "oval" or "rect"
var imageform="oval"

// do not edit below this line
var slidewidth=1
var slideheight=1

var ns6=document.getElementByIdx&&!document.all?1:0
var opera=navigator.userAgent.match(/Opera/)
var ie5=document.getElementByIdx&&document.all&&!opera?1:0

standstill*=1000
var floatingspeed=1
var tempo=20
var numberofimages=slideurl.length-1
var stepx=new Array()
var stepy=new Array()
for (i=0;i<=numberofimages;i++) {
 stepx[i]=randommakerNS(floatingspeed)
 stepy[i]=randommakerNS(floatingspeed)
}
var imgwidth=new Array()
var imgheight=new Array()
for (i=0;i<=numberofimages;i++) {
 imgwidth[i]=10
 imgheight[i]=10
}
var x,y
var marginbottom
var marginleft=0
var margintop=0
var marginright
var timer
var i_fadestrength=new Array()
var i_fadestep=new Array()
var i_fadenow=new Array()
var i_fadenowmax=new Array()
for (i=0;i<=slideurl.length;i++) {
 i_fadenowmax[i]=2
 i_fadestrength[i]=randommakerNS(99) 
 i_fadestep[i]=1
 i_fadenow[i]=0
}

var spancontent=new Array()
var i_spancontent=0
var imgpreload=new Array()
for (i=0;i<=slideurl.length;i++) {
 imgpreload[i]=new Image()
 imgpreload[i].src=slideurl[i]
}
for (i=0;i<=numberofimages;i++) {
 spancontent[i]="<a href='"+slidelink[i]+"' target='"+slidetarget[i]+"'><img src='"+slideurl[i]+"' border='0'></a>"
}

var i_angle1=0
var i_size=1
var i_pic=0
var posleft=0
var postop=0
var x_extrusionangle=0
var y_extrusionangle=0
var x_rotationcenter=0
var y_rotationcenter=0
var pagewidth
var pageheight

function initNS() {
    marginbottom=windows.innerHeight-11
    marginright=windows.innerWidth-11          
 var thisspan=document.getElementByIdx('span0')
 thisspan.innerHTML=spancontent[0]
 var thisspan=document.getElementByIdx('span0')
 imgwidth[0]=parseInt(thisspan.offsetWidth)
 imgheight[0]=parseInt(thisspan.offsetHeight)
 var maxleftstart=marginright-imgwidth[0]
 var maxtopstart=marginbottom-imgheight[0]
 var thisspan=document.getElementByIdx('span0').style
    thisspan.left=parseInt(thisspan.left)+randommakerNS(maxleftstart)
 thisspan.top=parseInt(thisspan.top)+randommakerNS(maxtopstart)
 thisspan.visibility="visible"
    checkmovementNS()
}

function randommakerNS(range) {  
 rand=Math.floor(range*Math.random())
 if (rand==0) {rand=Math.ceil(range/2)}
    return rand
}

function checkmovementNS() {
 checkpositionNS()
 movepicturesNS()
    timer=setTimeout("checkmovementNS()",tempo)
}

function movepicturesNS() {
    var thisspan=document.getElementByIdx('span0').style
    thisspan.left=parseInt(thisspan.left)+stepx[0]
 thisspan.top=parseInt(thisspan.top)+stepy[0] 
 i_fadenow[0]++
 if (i_fadenow[0]>=i_fadenowmax[0]) {
  i_fadenow[0]=0
  if (i_fadestrength[0]>=100) {i_fadestep[0]=i_fadestep[0]*-1}
  else if (i_fadestrength[0]<=0) {
   i_fadestep[0]=i_fadestep[0]*-1
   i_spancontent++
   if (i_spancontent>=spancontent.length) {i_spancontent=0}
   document.getElementByIdx('span0').innerHTML=spancontent[i_spancontent]
  }
 
 i_fadestrength[0]+=i_fadestep[0]
 document.getElementByIdx('span0').style.MozOpacity=Math.round(i_fadestrength[0])/100
}

function checkpositionNS() {
 imgwidth[0]=parseInt(document.getElementByIdx('span0').offsetWidth)
 imgheight[0]=parseInt(document.getElementByIdx('span0').offsetHeight)        
 var thisspan=document.getElementByIdx('span0').style
 var leftx=parseInt(thisspan.left)
 var topy=parseInt(thisspan.top)
 if (leftx>marginright-imgwidth[0]-floatingspeed) {
  thisspan.left=leftx-Math.abs(stepx[0]+1)
  stepx[0]=randommakerNS(floatingspeed)*-1 
 }
 if (leftx<marginleft) {
  thisspan.left=leftx+Math.abs(stepx[0])
  stepx[0]=randommakerNS(floatingspeed)   
 
 if (topy>marginbottom-imgheight[0]-floatingspeed) {
  thisspan.top=topy-Math.abs(stepy[0])
  stepy[0]=randommakerNS(floatingspeed)*-1
 }
 if (topy<margintop) {
  thisspan.top=topy+Math.abs(stepy[0])
  stepy[0]=randommakerNS(floatingspeed)
 }
}

function initIE() {
 var i_preload=0
 for (i=0;i<=slideurl.length-1;i++) {
  var imgref=eval_r("document.n"+i)
  if (imgref.complete) {i_preload++}
 }
 if (i_preload>=slideurl.length-1) {
  slidewidth=document.getElementByIdx('spn1').offsetWidth
  slideheight=document.getElementByIdx('spn1').offsetHeight
  pagewidth=document.body.clientWidth
  pageheight=document.body.clientHeight
  document.getElementByIdx('rectid').style.width=slidewidth
  document.getElementByIdx('rectid').style.height=slideheight
  posleft=(pagewidth-slidewidth)/2
  postop=(pageheight-slideheight)/2
  x_rotationcenter=(posleft/slidewidth)/2
  y_rotationcenter=(postop/slideheight)/2
  var rotationcenter=0+","+y_rotationcenter+","+x_rotationcenter
  document.getElementByIdx('rectid').style.left=posleft
  document.getElementByIdx('rectid').style.top=postop
  document.getElementByIdx('extrusionid').rotationcenter=rotationcenter
  rotateIE()
 }
 else {
  var timer=setTimeout("initIE()",200)
 }
}

function rotateIE() {
 i_angle1+=1
 if (i_angle1>=360) {
  i_angle1=0
 }
 if (i_angle1==127) {
  i_pic++
  if (i_pic>=slideurl.length) {i_pic=0}
  document.getElementByIdx('fillid').src=slideurl[i_pic]
 }
 document.getElementByIdx('rectid').style.rotation=i_angle1
 document.getElementByIdx('extrusionid').rotationangle=i_angle1+","+i_angle1
 var timer=setTimeout("rotateIE()",30)
}

function openpageIE() {
 if (slidetarget[i_pic]=="_blank") {
  window.open(slidelink[i_pic])
 }
 else if (slidetarget[i_pic]=="_self") {
  document.location.href(slidelink[i_pic])
 }
 else if (slidetarget[i_pic]=="_top" || slidetarget[i_pic]=="_parent") {
  top.location.href(slidelink[i_pic])
 }
}

if (ns6) {
 document.write("<span id='span0' style='position:absolute;top:0px;left:0px;filter:alpha(opacity=0);-moz-opacity:0'></span>")
    document.close()
 window.onload=initNS
}
if (ie5) {
 document.write('<div id="preloadimages" style="position:absolute;left:0px;top:-5px;visibility:hidden">')
 for (i=0;i<=slideurl.length-1;i++) {
  document.write('<span id="spn'+i+'" style="position:absolute;width:2px;left:0px;top:0px;">')
  document.write('<img src="'+slideurl[i]+'" name="n'+i+'">')
  document.write('</span>')
 }
 document.write('</div>')
    document.write('<v:'+imageform+' id="rectid"  style="position:absolute;top:0;left:0;width:'+slidewidth+';height:'+slideheight+'" onClick="openpageIE()">')
    document.write('<v:extrusion id="extrusionid" on="true" type="perspective" color="'+fillcolor+'" rotationcenter="0,0,0" backdepth="'+backdepth+'" diffusity="2.5" metal="true">')
  document.write('</v:extrusion>')
document.write('<v:fill id="fillid" opacity="100%" color="'+fillcolor+'" type="frame" src="'+slideurl[0]+'"/>')
   document.write('</v:'+imageform+'>')
 window.onload=initIE
   }
</script>

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

Cool 3D 浮動按鈕的模擬作法...

  • 2009年10月08日 01:55
  • 3KB
  • 下载

3D图像制作

  • 2014年08月31日 19:59
  • 3.05MB
  • 下载

Unity3d HDR和Bloom效果(高动态范围图像和泛光)

高动态范围图像(High-Dynamic Range,简称HDR),相比普通的图像,可以提供更多的动态范围和图像细节,根据不同的曝光时间的LDR(Low-Dynamic Range)图像,利用每个曝光...
  • wolf96
  • wolf96
  • 2015年03月04日 11:28
  • 21197

3D图像显示

  • 2014年05月23日 15:35
  • 1KB
  • 下载

BM3D 图像去噪的matlab代码

  • 2014年09月18日 20:40
  • 2.32MB
  • 下载

从零实现3D图像引擎:(14)背面消隐的三大陷阱

1. 为什么要背面消隐通过之前的DEMO,能够知道如果在渲染过程中多边形越多,那么要不处理的内容就越多,就越消费计算机的处理能力。对于物体来说,一般我们只看到它面对我们的面,可能不是正对着,但是肯定有...
  • cppyin
  • cppyin
  • 2011年02月25日 11:48
  • 8407

3D图像处理文档

  • 2015年08月10日 22:36
  • 2.76MB
  • 下载

从零实现3D图像引擎:(13)把宽高比、透视投影矩阵、屏幕变换矩阵说透

1. 问题的引出这个问题的引出又是因为《3D游戏编程大师技巧》这书里面有的问题没讲明白,有的东西又不对。首先宽高比这个名词的出现是因为我们的PC屏幕不是正方形的,屏幕宽度 : 屏幕高度 就是宽高比。但...
  • cppyin
  • cppyin
  • 2011年02月23日 16:58
  • 6368

解密图像显示控制器的3D功能

  • 2012年05月02日 09:08
  • 499KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:3D浮动图像
举报原因:
原因补充:

(最多只允许输入30个字)