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 相关文章推荐
JS 模态对话框和非模态对话框操作技巧汇总
Apr 15 Javascript
javascript同页面多次调用弹出层具体实例代码
Aug 16 Javascript
邮箱下拉自动填充选择示例代码附图
Apr 03 Javascript
javascript进行数组追加方法小结
Jun 16 Javascript
Javascript学习笔记之 对象篇(一) : 对象的使用和属性
Jun 24 Javascript
一个炫酷的Bootstrap导航菜单
Dec 28 Javascript
layui弹出层按钮提交iframe表单的方法
Aug 20 Javascript
webpack4 SCSS提取和懒加载的示例
Sep 03 Javascript
对angularJs中$sce服务安全显示html文本的实例
Sep 30 Javascript
Electron 如何调用本地模块的方法
Feb 01 Javascript
微信小程序移动拖拽视图-movable-view实例详解
Aug 17 Javascript
vue data对象重新赋值无效(未更改)的解决方式
Jul 24 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 中文乱码解决办法总结分析
2009/07/30 PHP
详解PHP中array_rand函数的使用方法
2016/09/11 PHP
PHP实现根据数组的值进行分组的方法
2017/04/20 PHP
基于jQuery的试卷自动排版系统实现代码
2011/01/06 Javascript
NodeJS框架Express的模板视图机制分析
2011/07/19 NodeJs
JS操作Cookies的小例子
2013/10/15 Javascript
js判断是否为ie的方法小结
2014/01/13 Javascript
js定时调用方法成功后并停止调用示例
2014/04/08 Javascript
javascript实例--教你实现扑克牌洗牌功能
2014/05/15 Javascript
BootStrap智能表单实战系列(十一)级联下拉的支持
2016/06/13 Javascript
ES6中的数组扩展方法
2016/08/26 Javascript
微信公众号-获取用户信息(网页授权获取)实现步骤
2016/10/21 Javascript
原生js实现吸顶效果
2017/03/13 Javascript
vue-cli脚手架-bulid下的配置文件
2018/03/27 Javascript
JavaScript中的回调函数实例讲解
2019/01/27 Javascript
js实现弹出框的拖拽效果实例代码详解
2019/04/16 Javascript
Vue v-bind动态绑定class实例方法
2020/01/15 Javascript
[01:08]DOTA2次级职业联赛 - Shield战队宣传片
2014/12/01 DOTA
跟老齐学Python之关于类的初步认识
2014/10/11 Python
Python网络爬虫项目:内容提取器的定义
2016/10/25 Python
python语音识别实践之百度语音API
2018/08/30 Python
选择python进行数据分析的理由和优势
2019/06/25 Python
Django 项目通过加载不同env文件来区分不同环境
2020/02/17 Python
在Python IDLE 下调用anaconda中的库教程
2020/03/09 Python
用python实现学生管理系统
2020/07/24 Python
如何用Python 加密文件
2020/09/10 Python
欧洲最大的美妆零售网站:Feelunique
2017/01/14 全球购物
英国的屈臣氏:Boots博姿
2017/12/23 全球购物
医校毕业生自我鉴定
2014/01/25 职场文书
工商企业管理专业自荐信范文
2014/04/12 职场文书
药店促销活动总结
2014/07/10 职场文书
纪律教育学习心得体会
2014/09/02 职场文书
原料仓管员岗位职责
2015/04/01 职场文书
董事长助理工作总结2015
2015/07/23 职场文书
MySQL kill不掉线程的原因
2021/05/07 MySQL
php去除数组中为0的元素的实例分析
2021/11/17 PHP