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 表单取值赋值的一些基本操作
Oct 11 Javascript
关于IE浏览器以及Firefox下的javascript冒泡事件的响应层级
Oct 14 Javascript
关于IE BUG与字符串截取substr的解决办法
Apr 10 Javascript
js模仿windows桌面图标排列算法具体实现(附图)
Jun 16 Javascript
Angular2 PrimeNG分页模块学习
Jan 14 Javascript
一篇文章搞定JavaScript类型转换(面试常见)
Jan 21 Javascript
拖动时防止选中
Feb 03 Javascript
AngularJS全局警告框实现方法示例
May 18 Javascript
基于JS代码实现简单易用的倒计时 x 天 x 时 x 分 x 秒效果
Jul 13 Javascript
利用jquery如何从json中读取数据追加到html中
Dec 01 jQuery
JS运动特效之同时运动实现方法分析
Jan 24 Javascript
Vue插件之滑动验证码用法详解
Apr 05 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
Win2003服务器安全加固设置--进一步提高服务器安全性
2007/05/23 PHP
PHP 全角转半角实现代码
2010/05/16 PHP
PHP内核探索:变量存储与类型使用说明
2014/01/30 PHP
PHP基于堆栈实现的高级计算器功能示例
2017/09/15 PHP
javascript XML数据显示为HTML一例
2008/12/23 Javascript
js apply/call/caller/callee/bind使用方法与区别分析
2009/10/28 Javascript
JS中自定义定时器让它在某一时刻执行
2014/09/02 Javascript
一个通过script自定义属性传递配置参数的方法
2014/09/15 Javascript
node.js中的http.createClient方法使用说明
2014/12/15 Javascript
JavaScript获取数组最小值和最大值的方法
2015/06/09 Javascript
javascript 使用for循环时该注意的问题-附问题总结
2015/08/19 Javascript
AngularJS指令中的绑定策略实例分析
2016/12/14 Javascript
vuejs2.0运用原生js实现简单的拖拽元素功能示例
2017/02/24 Javascript
node操作mysql数据库实例详解
2017/03/17 Javascript
Vue.js实现移动端短信验证码功能
2017/03/29 Javascript
React利用插件和不用插件实现双向绑定的方法详解
2017/07/03 Javascript
VueJs组件prop验证简单介绍
2017/09/12 Javascript
select获取下拉框的值 下拉框默认选中方法
2018/02/28 Javascript
python使用socket进行简单网络连接的方法
2015/04/29 Python
浅析使用Python操作文件
2017/07/31 Python
利用Python批量提取Win10锁屏壁纸实战教程
2018/03/27 Python
python实现定时提取实时日志程序
2018/06/22 Python
对django后台admin下拉框进行过滤的实例
2019/07/26 Python
对tensorflow中的strides参数使用详解
2020/01/04 Python
用Python制作mini翻译器的实现示例
2020/08/17 Python
CSS3 Columns分列式布局方法简介
2014/05/03 HTML / CSS
HTML5 body设置自适应全屏
2020/05/07 HTML / CSS
巴西男士个人护理产品商店:SHOP4MEN
2017/08/07 全球购物
优秀乡村医生先进事迹材料
2014/08/23 职场文书
教师年终个人总结
2015/02/11 职场文书
同学毕业留言寄语
2015/02/27 职场文书
预备党员群众意见
2015/06/01 职场文书
2019年冬至:天冷暖人心的问候祝福语大全
2019/12/20 职场文书
laravel ajax curd 搜索登录判断功能的实现
2021/04/17 PHP
Go语言基础函数基本用法及示例详解
2021/11/17 Golang
第四次工业革命,打工人与机器人的竞争
2022/04/21 数码科技