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 相关文章推荐
DIV+CSS+JS不间断横向滚动实现代码
Mar 19 Javascript
jQuery中:last-child选择器用法实例
Dec 31 Javascript
javascript 对象数组根据对象object key的值排序
Mar 09 Javascript
JS+CSS实现自动切换的网页滑动门菜单效果代码
Sep 14 Javascript
30分钟快速掌握Bootstrap框架
May 24 Javascript
Js+Ajax,Get和Post在使用上的区别小结
Jun 08 Javascript
微信小程序 自己制作小组件实例详解
Dec 22 Javascript
jquery实现刷新随机变化样式特效(tag标签样式)
Feb 03 Javascript
原生JavaScript来实现对dom元素class的操作方法(推荐)
Aug 16 Javascript
详解vue.js数据传递以及数据分发slot
Jan 20 Javascript
快速解决vue在ios端下点击响应延时的问题
Aug 27 Javascript
小程序实现五星点评效果
Nov 03 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
巧用php中的array_filter()函数去掉多维空值的代码分享
2012/09/07 PHP
体育彩票排列三组选三算法分享
2014/03/07 PHP
利用php输出不同的心形图案
2016/04/22 PHP
PHP实现图的邻接矩阵表示及几种简单遍历算法分析
2017/11/24 PHP
PHP实现简易计算器功能
2020/08/28 PHP
网页设计常用的一些技巧
2006/12/22 Javascript
基于逻辑运算的简单权限系统(实现) JS 版
2007/03/24 Javascript
常用的Javascript数据验证插件
2015/08/04 Javascript
JS实现网页Div层Clone拖拽效果
2015/09/26 Javascript
JQuery实现简单的服务器轮询效果实例
2016/03/31 Javascript
Bootstrap分页插件之Bootstrap Paginator实例详解
2016/10/15 Javascript
模板视图和AngularJS之间冲突的解决方法
2016/11/22 Javascript
Bootstrap 表单验证formValidation 实现表单动态验证功能
2017/05/17 Javascript
如何理解Vue的.sync修饰符的使用
2017/08/17 Javascript
js使用原型对象(prototype)需要注意的地方
2017/08/28 Javascript
AngularJS中scope的绑定策略实例分析
2017/10/30 Javascript
JavaScript之实现一个简单的Vue示例
2019/01/17 Javascript
详解js中let与var声明变量的区别
2020/04/05 Javascript
详解Vue Cli浏览器兼容性实践
2020/06/08 Javascript
[41:08]2014 DOTA2国际邀请赛中国区预选赛 HGT VS NE
2014/05/22 DOTA
[00:59]DOTA2英雄背景故事——上古巨神
2020/06/28 DOTA
[01:10:27]DOTA2-DPC中国联赛正赛 SAG vs XG BO3 第二场 3月5日
2021/03/11 DOTA
Python中用Descriptor实现类级属性(Property)详解
2014/09/18 Python
跟老齐学Python之做一个小游戏
2014/09/28 Python
Python中的面向对象编程详解(下)
2015/04/13 Python
python基于opencv检测程序运行效率
2019/12/28 Python
jupyter 导入csv文件方式
2020/04/21 Python
使用HTML5 Canvas API绘制弧线的教程
2016/03/22 HTML / CSS
ALLSAINTS英国官网:伦敦新锐潮流品牌
2016/09/19 全球购物
日本面向世界,国际级的免税在线购物商城:DOKODEMO
2017/02/01 全球购物
印度首个本地在线平台:nearbuy
2019/03/28 全球购物
全球高级音频和视频专家:HiDef Lifestyle
2019/08/02 全球购物
关于运动会的口号
2014/06/07 职场文书
经典团队口号大全
2014/06/21 职场文书
实习单位证明范例
2014/11/17 职场文书
详解TypeScript的基础类型
2022/02/18 Javascript