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 21 Javascript
获取offsetTop和offsetLeft值的js代码(兼容)
Apr 16 Javascript
JS 各种网页尺寸判断实例方法
Apr 18 Javascript
jquery 淡入淡出效果的简单实现
Feb 07 Javascript
100个不能错过的实用JS自定义函数
Mar 05 Javascript
详谈jQuery中的this和$(this)
Nov 13 Javascript
JavaScript函数的一些注意要点小结及js匿名函数
Nov 10 Javascript
基于jQuery实现多标签页切换的效果(web前端开发)
Jul 24 Javascript
JS请求servlet功能示例
Jun 01 Javascript
vuex 动态注册方法 registerModule的实现
Jul 03 Javascript
浅谈Vue开发人员的7个最好的VSCode扩展
Jan 20 Vue.js
JS前端监控采集用户行为的N种姿势
Jul 23 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
thinkphp实现面包屑导航(当前位置)例子分享
2014/05/10 PHP
ThinkPHP 3.2 版本升级了哪些内容
2015/03/05 PHP
php把时间戳转换成多少时间之前函数的实例
2016/11/16 PHP
360搜索引擎自动收录php改写方案
2018/04/28 PHP
HTML-CSS群中单选引发的“事件”
2007/03/05 Javascript
JQuery打造PHP的AJAX表单提交实例
2009/11/03 Javascript
jquery浏览器滚动加载技术实现方案
2014/06/03 Javascript
JavaScript判断undefined类型的正确方法
2015/06/30 Javascript
基于bootstrap实现广告轮播带图片和文字效果
2016/07/22 Javascript
js实现九宫格拼图小游戏
2017/02/13 Javascript
使用jQuery,Angular实现登录界面验证码详解
2017/04/27 jQuery
浅谈 Vue 项目优化的方法
2017/12/16 Javascript
vue+web端仿微信网页版聊天室功能
2019/04/30 Javascript
原生JavaScript实现刮刮乐
2020/09/29 Javascript
Nodejs 微信小程序消息推送的实现
2021/01/20 NodeJs
[03:03]DOTA2 2017国际邀请赛开幕战队入场仪式
2017/08/09 DOTA
python代码 if not x: 和 if x is not None: 和 if not x is None:使用介绍
2016/09/21 Python
Python中 Lambda表达式全面解析
2016/11/28 Python
python实现求解列表中元素的排列和组合问题
2018/03/15 Python
教你使用python画一朵花送女朋友
2018/03/29 Python
python基础教程项目四之新闻聚合
2018/04/02 Python
python消费kafka数据批量插入到es的方法
2018/12/27 Python
python3 求约数的实例
2019/12/05 Python
python+selenium+chromedriver实现爬虫示例代码
2020/04/10 Python
python中sort sorted reverse reversed函数的区别说明
2020/05/11 Python
python中Array和DataFrame相互转换的实例讲解
2021/02/03 Python
python 第三方库paramiko的常用方式
2021/02/20 Python
h5页面背景图很长要有滚动条滑动效果的实现
2021/01/27 HTML / CSS
美国零售商店:Blue&Cream
2017/04/07 全球购物
工程力学硕士生的自我评价范文
2013/11/16 职场文书
真诚的求职信
2014/07/04 职场文书
2014年祖国生日寄语
2014/09/19 职场文书
建筑质检员岗位职责
2015/04/08 职场文书
专职安全员岗位职责
2015/04/11 职场文书
盗窃罪辩护词范文
2015/05/21 职场文书
Golang 链表的学习和使用
2022/04/19 Golang