代码简介:

很炫的图片展示特效,由一组图片构成一个3D的圆环状,并自动旋转,鼠标放到某一图片上会自动停止,JavaScript 的功能真够强大,你是不是后悔没有学好JS呢?

代码内容:

View Code

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="www.w3.org/1999/xhtml">
<head>
<title>JavaScript实现图片旋转构成3D圆环代码 - www.webdm.cn</title>
<meta http-equiv="content-Type" content="text/html;charset=gb2312">
<style type="text/css">
body{background:black;color:white;line-height:29px;}
span{border:1px solid gray;background:#333;padding:4px;font-weight:bold;}
</style>
<script language="javascript">
    window.onload=function(){
        var rt=new imgRound("imgContainer",120,90,300,80,230,0.01);
        setInterval(function(){rt.roundMove()},20)
    }
    function imgRound(id,w,h,x,y,r,dv,rh,ah){
        if (ah==undefined) ah=1;
        if (rh==undefined) rh=10;
        var dv=dv*ah; //旋转速度
        var pi=3.1415926575;
        var d=pi/2;
        var pd=Math.asin(w/2/r);
        var smove=true;
        var imgArr=new Array();
        var objectId=id;
        var o=document.getElementById(objectId);
        o.style.position="relative";
        var arrimg=o.getElementsByTagName("img");
        var pn=arrimg.length; //图片数量
        var ed=pi*2/pn;
        for (n=0;n<arrimg.length;n++){
            var lk=arrimg[n].getAttribute("link");
            if (lk!=null) arrimg[n].setAttribute("title",lk)
            arrimg[n].onclick=function(){
                if (this.getAttribute("link")!=null){
                    if (this.getAttribute("target")!="_blank") window.location=(this.getAttribute("link"))
                    else window.open(this.getAttribute("link"))
                }
            }
            arrimg[n].onmouseout=function(){smove=true;}
            arrimg[n].onmouseover=function(){smove=false;}
            arrimg[n].style.position="absolute";
            imgArr.push(arrimg[n]);
        }
        this.roundMove=function(){
            for (n=0;n<=pn-1;n++){
                var o=imgArr[n];
                var ta=Math.sin(d+ed*n),strFilter;
                if (ta<0) o.style.left=Math.cos(d+ed*n-pd)*r+x+"px";
                else o.style.left=Math.cos(d+ed*n+pd)*r+x+"px";
                o.style.top=ta*rh+rh+y+"px";
                var zoom=Math.abs(Math.sin((d+ed*n)/2+pi/4))*0.5+0.5;
                o.style.width=Math.abs(Math.cos(d+ed*n+pd)-Math.cos(d+ed*n-pd))*zoom*r+"px";
                o.style.height=zoom*h+"px";
                if (ta<0) {ta=(ta+1)*80+20;o.style.zIndex=0;}
                else {ta=100;o.style.zIndex=1}
                if (o.style.zIndex<=0) strFilter="FlipH(enabled:true)"
                else strFilter="FlipH(enabled:false)";
                strFilter=strFilter+" alpha(opacity="+ta+")";
                o.style.opacity=ta/100;
                o.style.filter=strFilter;
            }
            if (smove) d=d+dv;
        }
    }
</script>
</head>
<body>
<div id="imgContainer" style="width:600px;height:300px;border:1px solid red">
<img src="http://www.webdm.cn/images/wall1_s.jpg" link="/" target="_blank">
<img src="http://www.webdm.cn/images/wall2_s.jpg" link="/" target="_blank">
<img src="http://www.webdm.cn/images/wall3_s.jpg" link="/" target="_blank">
<img src="http://www.webdm.cn/images/wall4_s.jpg" link="/" target="_blank">
<img src="http://www.webdm.cn/images/wall5_s.jpg" link="/" target="_blank">
<img src="http://www.webdm.cn/images/wall1_s.jpg" link="/" target="_blank">
<img src="http://www.webdm.cn/images/wall2_s.jpg" link="/" target="_blank">
<img src="http://www.webdm.cn/images/wall3_s.jpg" link="/" target="_blank">
</div>
</body>
</html>
<br />
<p><a href="http://www.webdm.cn">网页代码站</a> - 最专业的网页代码下载网站 - 致力为中国站长提供有质量的网页代码!</p>
代码来自:http://www.webdm.cn/webcode/1b2f7194-49fe-4e96-9469-07200a910095.html

转载于:https://www.cnblogs.com/webdm/archive/2011/09/02/2163404.html

JavaScript实现图片旋转构成3D圆环代码相关推荐

  1. JQuery插件让图片旋转任意角度且代码极其简单 - 摘自网友

    JQuery插件让图片旋转任意角度且代码极其简单 2012-04-01 09:57:03     我来说两句       收藏    我要投稿 引入下方的jquery.rotate.js文件,然后通过 ...

  2. html让图片自动旋转360,html5 canvas 360图片旋转制作抽奖转盘代码

    特效描述:html5canvas 360图片旋转 抽奖转盘代码.60图片旋转制作抽奖转盘代码 代码结构 1. HTML代码 var colors = ["#B8D430", &qu ...

  3. JQuery插件让图片旋转任意角度且代码极其简单

    引入下方的jquery.rotate.js文件,然后通过$("选择器").rotate(角度);可以旋转任意角度, 例如$("#rotate-image").r ...

  4. html不间断滚动图片,Javascript实现图片不间断滚动的代码

    滚动测试 /** * @para obj 目标对象 如:demo,deml1,demo2 中的"demo" 可任意,只要不重复 * * @para speed 滚动速度 越大越慢 ...

  5. Android 三星手机拍照图片旋转处理

    三星拍照后,图片竟然是旋转的,众多手机唯有三星拍照是旋转的,但是你又不能不处理. 首先你要先判断这张图片有木有旋转,图片都是自带这些信息的,方法如下: /*** 读取图片属性:旋转的角度** @par ...

  6. MVP模式的Android 调用系统拍照,相册,剪裁,适配到7.0,修复拍照图片旋转问题

    Android 调用系统拍照,相册,剪裁,适配到7.0,修复拍照图片旋转问题 直接上代码 首先添加拍照需要的权限 <uses-permission android:name="andr ...

  7. HTML5七夕情人节表白网页(抖音-流动爱心表白)HTML+CSS+JavaScript 求婚示爱代码 520情人节告白代码 程序员表白源码 3D旋转相册 js烟花代码 爱心表白网页

    HTML5七夕情人节表白网页❤抖音-流动爱心表白❤ HTML+CSS+JavaScript 求婚示爱代码 520情人节告白代码 程序员表白源码 3D旋转相册 js烟花代码 爱心表白网页 这是程序员表白 ...

  8. HTML5七夕情人节表白网页(抖音超火3D炫酷魔方) HTML+CSS+JavaScript 求婚示爱代码 520情人节告白代码 程序员表白源码 3D旋转相册 js烟花代码 css爱心表白

    HTML5七夕情人节表白网页❤抖音超火❤3D炫酷魔方❤ HTML+CSS+JavaScript 求婚示爱代码 520情人节告白代码 程序员表白源码 3D旋转相册 js烟花代码 css爱心表白 这是程序 ...

  9. HTML5七夕情人节表白网页(抖音-罗盘时钟) HTML+CSS+JavaScript 求婚示爱代码 520情人节告白代码 程序员表白源码 3D旋转相册 js烟花代码 css爱心表白

    HTML5七夕情人节表白网页❤抖音罗盘时钟❤ HTML+CSS+JavaScript 求婚示爱代码 520情人节告白代码 程序员表白源码 3D旋转相册 js烟花代码 css爱心表白 这是程序员表白系列 ...

最新文章

  1. 博士大佬整理的机器学习算法知识手册 | 附PDF下载
  2. C# .NET 使用第三方类库DotNetZip解压/压缩Zip文件
  3. 安徽省二级c语言笔试样题,安徽省二级C语言程序设计笔试样题1
  4. python批处理文件_Python文件夹批处理操作代码实例
  5. python中socket模块常用吗_python网络学习笔记——socket模块使用记录
  6. sql数据库简单增删改查
  7. 连接驱动_在jdbc中完成对于jdbc参数、jdbc变量,加载驱动,创建连接的封装
  8. 【云服务】云服务案例分析Quiz
  9. # WordPress 除了主页以外的页面都提示Not Found的问题(Centos)
  10. 【Java例题】1.3给朋友的贺卡
  11. python依赖包是什么意思_Python引入依赖curses包的坑
  12. 我的HTML学习之路02
  13. [Linux][Ubuntu][14.04.3LTS]安装NVidia显卡驱动
  14. 面试准备——mybatis相关
  15. 智慧机场大数据可视化分析决策系统
  16. 机器学习之BP神经网络算法实现图像分类
  17. 皮带撕裂检测matlab,基于机器视觉的皮带纵向撕裂检测方法
  18. 回归- Regression
  19. 安卓手机状态栏显示秒_免Root让安卓状态栏时间精确到秒
  20. python 排名函数_分数排名(Python),成绩,排序,python

热门文章

  1. 设计模式--行为型模式
  2. 浅谈SDN中的OverLay与UnderLay技术
  3. Laravel核心解读--Database(一)基础介绍
  4. InnoDB存储引擎详解
  5. java后端跨域问题常用解决方案
  6. SpringCloud 使用Zuul构建微服务网关
  7. Python 高级面向对象
  8. centos 7下Hadoop 2.7.2 伪分布式安装
  9. Spring面试,IoC和AOP的理解
  10. myeclipse下Tomcat java.lang.OutOfMemory Error: Java heap space