javascript实例分享---具有立体效果的图片特效


Posted in Javascript onJune 08, 2014

此实例是我一遍学习一边写出来的,希望能够帮到大家,一起学习。效果如图所示:

javascript实例分享---具有立体效果的图片特效

html代码如下所示:

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
  <head>
    <title>图片浏览工具制作</title>
    <script type="text/javascript" src="js/main.js"></script>
    <link rel="stylesheet" type="text/css"  href = "style/css.css">
  </head>
  <body>
  <div id="pic_browser">
      <img class="prev" src="images/prev.png" onclick="javascript:jzk.ui.moveImg(-1);"/>
      <img id="img1" onclick=""/>
      <div class="mask3" onclick="javascript:jzk.ui.moveImg(3);"></div><!-- 增加三级遮罩 -->
      <img id="img2" onclick=""/>
      <div class="mask2" onclick="javascript:jzk.ui.moveImg(2);"></div><!-- 增加二级遮罩 -->
      <img id="img3" onclick=""/>
      <div class="mask1" onclick="javascript:jzk.ui.moveImg(1);"></div><!-- 增加一级遮罩 -->
      <img id="img4" onclick=""/>
      <img id="img5" onclick=""/>
      <div class="mask5" onclick="javascript:jzk.ui.moveImg(-1);"></div><!-- 和mask1一样效果 -->
      <img id="img6" onclick=""/>
      <div class="mask6" onclick="javascript:jzk.ui.moveImg(-2);"></div><!-- 和mask2一样效果 -->
      <img id="img7" onclick=""/>
      <div class="mask7" onclick="javascript:jzk.ui.moveImg(-3);"></div><!-- 和mask3一样效果 -->
      <img class="next" src="images/next.png" onclick="javascript:jzk.ui.moveImg(1);"/>
  </div>
  </body>
</html>

css代码如下:

    此处的mask1、2、3.....是覆盖几张照片的一个div,用opacity属性来定义透明度,可以实现一种朦胧感,让外观更加美丽。

body {width: 1340px;height: 500px;background: url(../images/body_bg.gif) no-repeat;}
#pic_browser {width: 860px;height: 192px; position: relative;margin:130px 106px;}
#pic_browser img{position: absolute;border: none;}
.prev {top:76px;left: 0px; }
#img1, .mask3 {width: 106px;height: 70px;left: 45px;top: 61px;z-index: 4;}
#img2, .mask2 {width: 166px;height: 110px;left: 95px;top:41px;z-index: 5;}
#img3, .mask1 {width: 226px;height: 150px;left: 175px;top: 21px;z-index: 6;}
#img4 {width: 290px;height: 192px;left: 285px;top: 0px;z-index: 7;}
#img5, .mask5 {width: 226px;height: 150px;right: 175px;top: 21px;z-index: 6;}
#img6, .mask6 {width: 166px;height: 110px;right: 95px;top:41px;z-index: 5;}
#img7, .mask7 {width: 106px;height: 70px;right: 45px;top: 61px;z-index: 4;}
.next {top:76px;right: 0px;}
.mask1, .mask2, .mask3, .mask5, .mask6, .mask7 {background: #fff;position: absolute;}
.mask1, .mask5  {opacity: 0.3;}
.mask2, .mask6 {opacity: 0.5;}
.mask3, .mask7 {opacity: 0.7;}

js代码如下:

window.onload = function()
{
   jzk.app.initImg();
}
var imgArray = new Array();
imgArray[0] = 'images/1.jpg';
imgArray[1] = 'images/2.jpg';
imgArray[2] = 'images/3.jpg';
imgArray[3] = 'images/4.jpg';
imgArray[4] = 'images/5.jpg';
imgArray[5] = 'images/6.jpg';
imgArray[6] = 'images/7.jpg';
var base=0;
var jzk = {}; /*定义命名空间*/
jzk.tools = {};/*分层第一层*/
jzk.ui = {};/*分层第二层*/
jzk.ui.moveImg = function(offset)
{
    base= (base-offset);
    for(var i = base;i< base +7;i++)/*定义i为数组下标的变量*/
    {
        var img = document.getElementById('img'+(i-base+1));/*保证img变量为img1、img2、img3...直到img7这7个img元素*/
        if(i<0)  /*数组下标i<0,说明offset>0,*/
        {
            img.src =imgArray[imgArray.length+i];
        }
        else if(i>imgArray.length-1)
        {
            img.src =imgArray[i-imgArray.length]; 
        }
        else
        {
            img.src = imgArray[i];
        }
    }
}
jzk.app = {}; /*分层第三层*/
jzk.app.initImg = function()/*初始化显示图片,也就是调用函数moveImg过程:参数为7,base等于-7,i等于-7,-6,-5,-4,-3,-2,-1这7个值,对应的元素为img1,img2,...img7,所以有:img1=imgArray[-7+7],img2=imgArray[-6+7]....*/
{
     jzk.ui.moveImg(7);/*初始参数应该设为:能显示的张数(此处为7);*/
}
三个文件,属js代码比较难理解,上面我也给出了详细的注释,如果还有谁看了不懂的,可以在下面评论中讨论。
Javascript 相关文章推荐
基于jquery的滚动新闻列表
Jun 19 Javascript
jQuery+ajax实现鼠标单击修改内容的思路
Jun 29 Javascript
javascript事件冒泡和事件捕获详解
May 26 Javascript
JavaScript中模拟实现jsonp
Jun 19 Javascript
jQuery基于排序功能实现上移、下移的方法
Nov 26 Javascript
Bootstrap基本模板的使用和理解1
Dec 14 Javascript
svg动画之动态描边效果
Feb 22 Javascript
使用jQuery实现一个类似GridView的编辑,更新,取消和删除的功能
Mar 15 Javascript
详解jquery选择器的原理
Aug 01 jQuery
详解javascript appendChild()的完整功能
Aug 18 Javascript
vue+element实现表单校验功能
May 20 Javascript
基于elementUI竖向表格、和并列的案例
Oct 26 Javascript
js 中将多个逗号替换为一个逗号的代码
Jun 07 #Javascript
js 去除字符串第一位逗号的方法
Jun 07 #Javascript
javascript去除字符串中所有标点符号和提取纯文本的正则
Jun 07 #Javascript
用js替换除数字与逗号以外的所有字符的代码
Jun 07 #Javascript
javascript写的异步加载js文件函数(支持数组传参)
Jun 07 #Javascript
关于JavaScript命名空间的一些心得
Jun 07 #Javascript
javascript随机之洗牌算法深入分析
Jun 07 #Javascript
You might like
js实现权限树的更新权限时的全选全消功能
2009/02/17 Javascript
JS trim去空格的最佳实践
2011/10/30 Javascript
Jquery中&quot;$(document).ready(function(){ })&quot;函数的使用详解
2013/12/30 Javascript
提升PHP安全:8个必须修改的PHP默认配置
2014/11/17 Javascript
写给小白的JavaScript引擎指南
2015/12/04 Javascript
JS中如何比较两个Json对象是否相等实例代码
2016/07/13 Javascript
利用JS实现文字的聚合动画效果
2017/01/22 Javascript
js实现模糊匹配功能
2017/02/15 Javascript
详解react-router如何实现按需加载
2017/06/15 Javascript
lhgcalendar时间插件限制只能选择三个月的实现方法
2017/07/03 Javascript
AngularJS实现的根据数量与单价计算总价功能示例
2017/12/26 Javascript
微信web端后退强制刷新功能的实现代码
2018/03/04 Javascript
vue中使用cookies和crypto-js实现记住密码和加密的方法
2018/10/18 Javascript
vue的for循环使用方法
2019/02/12 Javascript
Node 搭建一个静态资源服务器的实现
2019/05/20 Javascript
JavaScript实现简单计算器
2020/03/19 Javascript
理解python多线程(python多线程简明教程)
2014/06/09 Python
Python元组及文件核心对象类型详解
2018/02/11 Python
python3解析库BeautifulSoup4的安装配置与基本用法
2018/06/26 Python
PyQt5 QTable插入图片并动态更新的实例
2019/06/18 Python
django foreignkey(外键)的实现
2019/07/29 Python
Windows系统Python直接调用C++ DLL的方法
2019/08/01 Python
python通过cython加密代码
2020/12/11 Python
html5 Canvas画图教程(6)—canvas里画曲线之arcTo方法
2013/01/09 HTML / CSS
Vans奥地利官方网站:美国原创极限运动潮牌
2018/09/30 全球购物
单位领导证婚词
2014/01/14 职场文书
生产部管理制度
2014/01/31 职场文书
应届毕业生通用的自荐书范文
2014/02/07 职场文书
小学生中国梦演讲稿
2014/04/23 职场文书
慈善捐赠倡议书
2014/08/30 职场文书
授权委托书
2015/01/28 职场文书
2015年保险公司内勤工作总结
2015/05/23 职场文书
《神奇的鸟岛》教学反思
2016/02/22 职场文书
高中16字霸气押韵班级口号集锦!
2019/06/27 职场文书
关于Numpy之repeat、tile的用法总结
2021/06/02 Python
Python实现简单得递归下降Parser
2022/05/02 Python