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 相关文章推荐
jsTree树控件(基于jQuery, 超强悍)[推荐]
Sep 01 Javascript
判断用户是否在线的代码
Mar 05 Javascript
JavaScript中的pow()方法使用详解
Jun 15 Javascript
javascript实现base64 md5 sha1 密码加密
Sep 09 Javascript
Javascript 6里的4个新语法
Aug 25 Javascript
浅谈Node.js:fs文件系统模块
Dec 08 Javascript
使用原生的javascript来实现轮播图
Feb 24 Javascript
jQuery插件FusionCharts实现的2D柱状图效果示例【附demo源码下载】
Mar 06 Javascript
分享vue.js devtools遇到一系列问题
Oct 24 Javascript
分析javascript原型及原型链
Mar 18 Javascript
node.js使用yargs处理命令行参数操作示例
Feb 11 Javascript
vue 在服务器端直接修改请求的接口地址
Dec 19 Vue.js
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
浅谈电磁辐射对健康的影响
2021/03/01 无线电
PHP中的self关键字详解
2019/06/23 PHP
Kibo 用于处理键盘事件的Javascript工具库
2011/10/28 Javascript
javascript实现可改变滚动方向的无缝滚动实例
2013/06/17 Javascript
浅谈JavaScript实现面向对象中的类
2014/12/09 Javascript
Javascript中prototype属性实现给内置对象添加新的方法
2015/05/14 Javascript
jquery分割字符串的方法
2015/06/24 Javascript
js判断移动端是否安装某款app的多种方法
2015/12/18 Javascript
图解js图片轮播效果
2015/12/20 Javascript
jQuery实现的倒计时效果实例小结
2016/04/16 Javascript
Java遍历集合方法分析(实现原理、算法性能、适用场合)
2016/04/25 Javascript
浅析Bootstrap表格的使用
2016/06/23 Javascript
AngularJS监听路由的变化示例代码
2016/09/23 Javascript
vue router路由嵌套不显示问题的解决方法
2017/06/17 Javascript
jQuery实现可拖动进度条实例代码
2017/06/21 jQuery
JS分页的实现(同步与异步)
2017/09/16 Javascript
实例详解BootStrap的动态模态框及静态模态框
2018/08/13 Javascript
JS 验证码功能的三种实现方式
2018/11/26 Javascript
vue-test-utils初使用详解
2019/05/23 Javascript
微信小程序实现图片翻转效果的实例代码
2019/09/20 Javascript
使用python将mdb数据库文件导入postgresql数据库示例
2014/02/17 Python
python 表达式和语句及for、while循环练习实例
2017/07/07 Python
python自动12306抢票软件实现代码
2018/02/24 Python
python使用PIL和matplotlib获取图片像素点并合并解析
2019/09/10 Python
python计算波峰波谷值的方法(极值点)
2020/02/18 Python
Python 统计位数为偶数的数字代码详解
2020/03/15 Python
python模拟哔哩哔哩滑块登入验证的实现
2020/04/24 Python
Python实现LR1文法的完整实例代码
2020/10/25 Python
美国领先的医疗警报服务:Philips Lifeline
2018/03/12 全球购物
意大利在线药房:Saninforma
2021/02/11 全球购物
单身联谊活动方案
2014/01/29 职场文书
医科大学毕业生自荐信
2014/02/03 职场文书
共产党员承诺书
2014/03/25 职场文书
资助贫困学生倡议书
2014/05/16 职场文书
营销与策划实训报告
2014/11/05 职场文书
2015年宣传部个人工作总结
2015/05/14 职场文书