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 相关文章推荐
javascript中字符串替换函数replace()方法与c# 、vb 替换有一点不同
Jun 25 Javascript
js 如何实现对数据库的增删改查
Nov 23 Javascript
javascript计算用户打开网页的停留时间
Jan 09 Javascript
jQuery 取值、赋值的基本方法整理
Mar 31 Javascript
JavaScript实现跨浏览器的添加及删除事件绑定函数实例
Aug 04 Javascript
深入理解JS addLoadEvent函数
May 20 Javascript
第八篇Bootstrap下拉菜单实例代码
Jun 21 Javascript
jQuery内存泄露解决办法
Dec 13 Javascript
js中的事件委托或是事件代理使用详解
Jun 23 Javascript
js实现各浏览器全屏代码实例
Jul 03 Javascript
Vue 组件修改根实例的数据的方法
Apr 02 Javascript
vue backtop组件的实现完整代码
Apr 07 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
一步一步学习PHP(3) php 函数
2010/02/15 PHP
基于curl数据采集之单页面采集函数get_html的使用
2013/04/28 PHP
详谈php中 strtr 和 str_replace 的效率问题
2017/05/14 PHP
javascript新手语法小结
2008/06/15 Javascript
CSS和JS标签style属性对照表(方便js开发的朋友)
2010/11/11 Javascript
js中function()使用方法
2013/12/24 Javascript
jquery无刷新验证邮箱地址实现实例
2014/02/19 Javascript
BootStrap智能表单实战系列(七)验证的支持
2016/06/13 Javascript
功能强大的Bootstrap使用手册(一)
2016/08/02 Javascript
Web纯前端“旭日图”实现元素周期表
2017/03/10 Javascript
详解webpack-dev-server的简单使用
2018/04/02 Javascript
利用js将ajax获取到的后台数据动态加载至网页中的方法
2018/08/08 Javascript
JS实现鼠标拖拽盒子移动及右键点击盒子消失效果示例
2019/01/29 Javascript
微信小程序iOS下拉白屏晃动问题解决方案
2019/10/12 Javascript
H5+css3+js搭建带验证码的登录页面
2020/10/11 Javascript
python利用datetime模块计算时间差
2015/08/04 Python
python中异常捕获方法详解
2017/03/03 Python
django之session与分页(实例讲解)
2017/11/13 Python
pandas 实现将重复表格去重,并重新转换为表格的方法
2018/04/18 Python
浅谈PYTHON 关于文件的操作
2019/03/19 Python
解决Python正则表达式匹配反斜杠''\''问题
2019/07/17 Python
Python进程,多进程,获取进程id,给子进程传递参数操作示例
2019/10/11 Python
CSS3 实用技巧:实现黑白图像效果示例代码
2013/07/11 HTML / CSS
美国求婚钻戒网站:Super Jeweler
2016/08/27 全球购物
Silk’n激光脱毛器官网:silkn.com
2016/10/06 全球购物
高中自我鉴定
2013/12/20 职场文书
纪念建党演讲稿范文
2014/01/13 职场文书
学校先进集体事迹材料
2014/05/31 职场文书
工作作风整顿个人剖析材料
2014/10/11 职场文书
永不妥协观后感
2015/06/10 职场文书
2016国庆节67周年寄语
2015/12/07 职场文书
党性教育心得体会(共6篇)
2016/01/21 职场文书
2016优秀青年志愿者事迹材料
2016/02/25 职场文书
java设计模式--建造者模式详解
2021/07/21 Java/Android
Mysql如何实现不存在则插入,存在则更新
2022/03/25 MySQL
vue-treeselect的基本用法以及解决点击无法出现拉下菜单
2022/04/30 Vue.js