zoukankan      html  css  js  c++  java
  • 图片翻转3D效果

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">

    <HTML><HEAD>

    <META content="text/html; charset=gb2312" http-equiv=Content-Type>

    <STYLE>HTML {

    BACKGROUND: #000

    }

    BODY {

    PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; PADDING-TOP: 0px

    }

    UL {

    PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; PADDING-TOP: 0px

    }

    LI {

    LIST-STYLE-TYPE: none; LIST-STYLE-IMAGE: none

    }

    IMG {

    BORDER-BOTTOM: medium none; BORDER-LEFT: medium none; DISPLAY: block; BORDER-TOP: medium none; BORDER-RIGHT: medium none

    }

    .slide-wp {

    POSITION: absolute; MARGIN-TOP: -150px; WIDTH: 520px; HEIGHT: 280px; MARGIN-LEFT: -250px; OVERFLOW: hidden; TOP: 50%; LEFT: 50%

    }

    .nav-wp {

    POSITION: absolute; PADDING-BOTTOM: 6px; MARGIN-TOP: 170px; PADDING-LEFT: 10px; PADDING-RIGHT: 20px; BACKGROUND: #ccc; MARGIN-LEFT: -100px; TOP: 50%; PADDING-TOP: 0px; LEFT: 50%; border-radius: 4px; -moz-border-radius: 4px; -webkit-border-radius: 4px; _padding: 0 20px 2px 10px

    }

    .nav LI {

    FONT-FAMILY: tahoma; FLOAT: left; HEIGHT: 22px; COLOR: #22739e; MARGIN-LEFT: 10px; FONT-SIZE: 20px; CURSOR: pointer; FONT-WEIGHT: bold

    }

    .nav LI.cur {

    COLOR: #ff7a00

    }

    .next {

    POSITION: absolute; PADDING-BOTTOM: 4px; PADDING-LEFT: 8px; PADDING-RIGHT: 8px; BACKGROUND: #ccc; HEIGHT: 20px; COLOR: #ff7a00; TOP: 0px; CURSOR: pointer; PADDING-TOP: 4px; LEFT: 160px; border-radius: 4px; -moz-border-radius: 4px; -webkit-border-radius: 4px

    }

    </STYLE>

    <META name=GENERATOR content="MSHTML 8.00.6001.19222"></HEAD>

    <BODY>

    <H2 style="COLOR: #fff">对于使用IE6的同学看到的斑点,我只能表示很无奈。。。</H2>

    <DIV id=slider class=slide-wp>

    <UL>

      <LI><A href="http://www.nowamagic.net/" target=_blank><IMG alt="" 

      src="3d_files/1.jpg"></A></LI>

      <LI><A href="http://www.nowamagic.net/" target=_blank><IMG alt="" 

      src="3d_files/2.jpg"></A></LI>

      <LI><A href="http://www.nowamagic.net/" target=_blank><IMG alt="" 

      src="3d_files/3.jpg"></A></LI>

      <LI><A href="http://www.nowamagic.net/" target=_blank><IMG alt="" 

      src="3d_files/4.jpg"></A></LI>

      <LI><A href="http://www.nowamagic.net/" target=_blank><IMG alt="" 

      src="3d_files/5.jpg"></A></LI></UL></DIV>

    <DIV class=nav-wp>

    <UL id=nav class=nav>

      <LI onclick=mySlider.pos(0)>●</LI>

      <LI onclick=mySlider.pos(1)>●</LI>

      <LI onclick=mySlider.pos(2)>●</LI>

      <LI onclick=mySlider.pos(3)>●</LI>

      <LI onclick=mySlider.pos(4)>●</LI></UL><A class=next 

    onclick=mySlider.move()>next</A> </DIV>

    <SCRIPT type=text/javascript>

    var HR = {

     $ : function(i) {return document.getElementById(i)},

     $$ : function(c, p) {return p.getElementsByTagName(c)},

     ce : function(i, t) {

      var o = document.createElement(i);

      t.appendChild(o);

      return o;

     }

    };

    HR.slider3D = function () {

     var init = function (o) {

      this.o = o;

      var wp = HR.$(o.id), ul = HR.$$('ul', wp)[0], li = this.li = HR.$$('li', ul);

      this.l = li.length;

      this.w = wp.offsetWidth;

      this.h = wp.offsetHeight;

      this.at = o.auto? o.auto : 4;

      var con = this.con = HR.ce('div', wp);

      con.style.cssText = 'position:absolute;left:0;top:0;'+this.w+'px;height:'+this.h+'px';

      ul.style['display'] = 'none';  

      this.a1 = HR.ce('a', con);  

      this.a1.style.cssText = 'position:absolute;left:0;top:0;overflow:hidden';  

      this.a2 = HR.ce('a', con);

      this.a2.style.cssText = 'position:absolute;top:0;right:0;overflow:hidden';

      this.a1.innerHTML = this.a2.innerHTML = '<img alt="" />';

      this.img = HR.$$('img', ul);

      this.s = o.maskSize ? o.maskSize : 5;

      

      this.mask11 = HR.ce('span', this.a1);

      this.mask12 = HR.ce('span', this.a1);

      this.mask21 = HR.ce('span', this.a2);

      this.mask22 = HR.ce('span', this.a2);

      

      this.pos(0);

     }

     init.prototype = {

      pos : function (i) {

       clearInterval(this.li[i].a); clearInterval(this.au); this.au = 0; this.cur = i;

       var navli = HR.$$('li', HR.$(this.o.navId));

       for (var j=0; j<navli.length; j++) {

        navli[j].className = i == j ? 'cur' : '';

       }

       var img1 = HR.$$('img', this.a1)[0], img2 = HR.$$('img', this.a2)[0], _this = this;

       img1.src = i==0 ? this.img[this.l-1].src : this.img[i-1].src;

       img1.width = this.w;

       img2.src = this.img[i].src;

       img2.width = 0;

       img1.height = img2.height = this.h;

       this.mask11.style.cssText = 'position:absolute;left:0;top:0;font-size:0;overflow:hidden;0;height:0;border-color:black transparent transparent black;border-style:solid dashed dashed solid;border-0 '+this.w/2+'px';

       this.mask12.style.cssText = 'position:absolute;left:0;bottom:0;font-size:0;overflow:hidden;0;height:0;border-color:transparent transparent black black;border-style:dashed dashed solid solid;border-0 '+this.w/2+'px';

       this.mask21.style.cssText = 'position:absolute;right:0;top:0;font-size:0;overflow:hidden;0;height:0;border-color:black black transparent transparent;border-style:solid solid dashed dashed;border-0px';

       this.mask22.style.cssText = 'position:absolute;right:0;bottom:0;font-size:0;overflow:hidden;0;height:0;border-color:transparent black black transparent;border-style:dashed solid solid dashed;border-0px';

       this.li[i].a = setInterval(function(){_this.anim(i)}, 20);

      },

      anim : function (i) {

       var w1 = HR.$$('img', this.a1)[0].width, w2  = HR.$$('img', this.a2)[0].width;

       if (w2 == this.w) {

        clearInterval(this.li[i].a);

        HR.$$('img', this.a1)[0].width = 0;

        HR.$$('img', this.a2)[0].width = this.w;

        this.mask11.style.borderLeftWidth = this.mask11.style.borderRightWidth = this.mask12.style.borderLeftWidth = this.mask12.style.borderRightWidth = '0px';

        this.mask11.style.borderTopWidth = this.mask11.style.borderBottomWidth = this.mask12.style.borderTopWidth = this.mask12.style.borderBottomWidth = this.h/this.s + 'px';

        this.mask21.style.borderLeftWidth = this.mask21.style.borderRightWidth = this.mask22.style.borderLeftWidth = this.mask22.style.borderRightWidth = this.w/2 + 'px';

        this.mask21.style.borderTopWidth = this.mask21.style.borderBottomWidth = this.mask22.style.borderTopWidth = this.mask22.style.borderBottomWidth = '0px';

       }else {

        HR.$$('img', this.a1)[0].width -= Math.ceil((this.w-w2)*.13);

        HR.$$('img', this.a2)[0].width += Math.ceil((this.w-w2)*.13);

        this.mask11.style.borderLeftWidth = this.mask11.style.borderRightWidth = this.mask12.style.borderLeftWidth = this.mask12.style.borderRightWidth = HR.$$('img', this.a1)[0].width/2 + 'px';

        this.mask11.style.borderTopWidth = this.mask11.style.borderBottomWidth = this.mask12.style.borderTopWidth = this.mask12.style.borderBottomWidth = HR.$$('img', this.a2)[0].width*this.h/(this.s*this.w) + 'px';

        this.mask21.style.borderLeftWidth = this.mask21.style.borderRightWidth = this.mask22.style.borderLeftWidth = this.mask22.style.borderRightWidth = HR.$$('img', this.a2)[0].width/2 + 'px';

        this.mask21.style.borderTopWidth = this.mask21.style.borderBottomWidth = this.mask22.style.borderTopWidth = this.mask22.style.borderBottomWidth = this.h/this.s - HR.$$('img', this.a2)[0].width*this.h/(this.s*this.w) + 'px';

        if (!this.au) this.auto();

       }

      },

      auto : function () {

       var _this = this;

       this.au = setInterval(function(){_this.move()}, this.at*1000);

      },

      move : function () {

       var n = this.cur==this.l-1 ? 0 : this.cur+1;

       this.pos(n);

      }

     }

     return init;

    }();

    var mySlider = new HR.slider3D({

     id: 'slider',

     maskSize: 6,

     navId: 'nav',

     auto: 4

    })</SCRIPT>

    </BODY></HTML>


  • 相关阅读:
    贝叶斯公式由浅入深大讲解—AI基础算法入门
    再谈前端HTML模板技术
    再谈angularJS数据绑定机制及背后原理—angularJS常见问题总结
    mac版chrome升级到Version 65.0.3325.18后无法打开百度bing搜狗
    图说js中的this——深入理解javascript中this指针
    web app响应式字体设置!rem之我见
    【2020-04-18】 加班
    【2020-04-06】汇郡海下的沉思
    【2020-03-28】Dubbo源码杂谈
    【2020-03-21】Dubbo本地环境搭建-实现服务注册和消费
  • 原文地址:https://www.cnblogs.com/xinzhuangzi/p/4100398.html
Copyright © 2011-2022 走看看