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 获取字符串字节数的多种方法
Jun 02 Javascript
用JavaScript将从数据库中读取出来的日期型格式化为想要的类型。
Aug 15 Javascript
jQuery 开发者应该注意的9个错误
May 03 Javascript
JS随机漂浮广告代码具体实例
Nov 19 Javascript
jquery动态添加option示例
Dec 30 Javascript
分享一款基于jQuery的视频播放插件
Oct 09 Javascript
js实现点击添加一个input节点
Dec 05 Javascript
js控制按钮,防止频繁点击响应的实例
Feb 15 Javascript
详解vue 配合vue-resource调用接口获取数据
Jun 22 Javascript
JS倒计时实例_天时分秒
Aug 22 Javascript
Vue中对比scoped css和css module的区别
May 17 Javascript
layui table 列宽百分比显示的实现方法
Sep 28 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获取文件的MD5值并判断是否被修改的例子
2014/06/19 PHP
PHP生成不重复标识符的方法
2014/11/21 PHP
javascript编程起步(第六课)
2007/02/27 Javascript
jquery多选项卡效果实例代码(附效果图)
2013/03/23 Javascript
JavaScript中原型和原型链详解
2015/02/11 Javascript
莱鸟介绍javascript onclick事件
2016/01/06 Javascript
第一章之初识Bootstrap
2016/04/25 Javascript
jQuery 中的 DOM 操作
2016/04/26 Javascript
只需五句话搞定JavaScript作用域(经典)
2016/07/26 Javascript
JavaScript 中 avalon绑定属性总结
2016/10/19 Javascript
Javascript使用uploadify来实现多文件上传
2016/11/16 Javascript
Nodejs下用submit提交表单提示cannot post错误的解决方法
2016/11/21 NodeJs
AngularJS Select(选择框)使用详解
2017/01/18 Javascript
jQuery插件Echarts实现的渐变色柱状图
2017/03/23 jQuery
Bootstrap Tooltip显示换行和左对齐的解决方案
2017/10/11 Javascript
nodejs实现解析xml字符串为对象的方法示例
2018/03/14 NodeJs
vue-form表单验证是否为空值的实例详解
2019/10/29 Javascript
二种python发送邮件实例讲解(python发邮件附件可以使用email模块实现)
2013/12/03 Python
python获取指定网页上所有超链接的方法
2015/04/04 Python
Sanic框架流式传输操作示例
2018/07/18 Python
python3 动态模块导入与全局变量使用实例
2019/12/22 Python
python GUI库图形界面开发之PyQt5复选框控件QCheckBox详细使用方法与实例
2020/02/28 Python
Python爬虫后获取重定向url的两种方法
2021/01/19 Python
Html5 Canvas实现图片标记、缩放、移动和保存历史状态功能 (附转换公式)
2020/03/18 HTML / CSS
Julep官网:美容产品和指甲油
2017/02/25 全球购物
斯凯奇澳大利亚官网:SKECHERS澳大利亚
2018/03/31 全球购物
C#笔试题集合
2013/06/21 面试题
法定代表人身份证明书
2014/09/10 职场文书
2015年重阳节活动总结
2015/03/24 职场文书
2015银行年终工作总结范文
2015/05/26 职场文书
运动会广播稿50字
2015/08/19 职场文书
2015年文秘个人工作总结
2015/10/14 职场文书
2016党员干部廉政准则学习心得体会
2016/01/20 职场文书
css实现两栏布局,左侧固定宽,右侧自适应的多种方法
2021/08/07 HTML / CSS
windows11怎么查看自己安装的版本号? win11版本号的查看方法
2021/11/21 数码科技
python游戏开发Pygame框架
2022/04/22 Python