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 相关文章推荐
FireFox中textNode分片的问题
Apr 10 Javascript
使用jQuery的ajax功能实现的RSS Reader 代码
Sep 03 Javascript
有效的捕获JavaScript焦点的方法小结
Oct 08 Javascript
js利用与或运算符优先级实现if else条件判断表达式
Apr 15 Javascript
读jQuery之十二 删除事件核心方法
Jul 31 Javascript
javascript相等运算符与等同运算符详细介绍
Nov 09 Javascript
仅一个form表单 js实现注册信息依次填写提交功能
Jun 12 Javascript
BACKBONE.JS 简单入门范例
Oct 17 Javascript
详解使用webpack+electron+reactJs开发windows桌面应用
Feb 01 Javascript
JavaScript原型继承和原型链原理详解
Feb 04 Javascript
js实现列表按字母排序
Aug 11 Javascript
JavaScript数组常用的增删改查与其他属性详解
Oct 13 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
摩卡咖啡
2021/03/03 咖啡文化
PHP编程过程中需要了解的this,self,parent的区别
2009/12/30 PHP
destoon官方标签大全
2014/06/20 PHP
PHP使用get_headers函数判断远程文件是否存在的方法
2014/11/28 PHP
PHP使用file_get_contents发送http请求功能简单示例
2018/04/29 PHP
PHP实现的只保留字符串首尾字符功能示例【隐藏部分字符串】
2019/03/11 PHP
php使用pecl方式安装扩展操作示例
2019/08/12 PHP
TP5(thinkPHP5)框架使用ajax实现与后台数据交互的方法小结
2020/02/10 PHP
吐槽一下我所了解的Node.js
2014/10/08 Javascript
jquery实现的代替传统checkbox样式插件
2015/06/19 Javascript
QQ登录背景闪动效果附效果演示源码下载
2015/09/22 Javascript
快速学习jQuery插件 Cookie插件使用方法
2015/12/01 Javascript
Node.js实用代码段之正确拼接Buffer
2016/03/17 Javascript
angular实现表单验证及提交功能
2017/02/01 Javascript
canvas的神奇用法
2017/02/03 Javascript
Angular中实现树形结构视图实例代码
2017/05/05 Javascript
详解vue-cli 构建Vue项目遇到的坑
2017/08/30 Javascript
Vue三层嵌套路由的示例代码
2018/05/05 Javascript
js实现按钮开关单机下拉菜单效果
2018/11/22 Javascript
layui实现数据表格table分页功能(ajax异步)
2019/07/27 Javascript
原生JavaScript实现随机点名表
2021/01/14 Javascript
python根据文件大小打log日志
2014/10/09 Python
浅谈用VSCode写python的正确姿势
2017/12/16 Python
详谈Python3 操作系统与路径 模块(os / os.path / pathlib)
2018/04/26 Python
python按时间排序目录下的文件实现方法
2018/10/17 Python
python导入模块交叉引用的方法
2019/01/19 Python
python 同时读取多个文件的例子
2019/07/16 Python
python基于event实现线程间通信控制
2020/01/13 Python
OpenCV读取与写入图片的实现
2020/10/13 Python
HTML5 Canvas旋转动画的2个代码例子(一个旋转的太极图效果)
2014/04/10 HTML / CSS
Wiggle美国:英国骑行、跑步、游泳、铁人三项商店
2018/10/27 全球购物
2014年干部培训工作总结
2014/12/17 职场文书
2015年度考核个人工作总结
2015/10/24 职场文书
辞职信怎么写?你都知道吗?
2019/06/24 职场文书
python3美化表格数据输出结果的实现代码
2021/04/14 Python
Python 文本滚动播放器的实现代码
2021/04/25 Python