jquery实现聚光灯效果的方法


Posted in Javascript onFebruary 06, 2015

本文实例讲述了jquery实现聚光灯效果的方法。分享给大家供大家参考。具体分析如下:

有时网站需要用jquery实现一种图片聚光灯特效,当鼠标滑过单组中的单个图标时,当前高亮,其它图标变暗的这种类似图片聚光灯特效。其实现原理为首先先让鼠标触及到当前图片后,让其他图片全部透明化,然后显示出当前的提示语,当鼠标移开以后隐藏当前的提示语,让所有的背景颜色的透明度变回正常。这里就来介绍如何用jquery实现聚光灯效果

jquery实现聚光灯效果图如下所示:

jquery实现聚光灯效果的方法

jquery代码

<!DOCTYPE>

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

<title>jquery聚光灯插件制作jquery图片特效鼠标滑过图片当前图片高亮</title>

<meta name="description" content="jquery聚光灯插件制作jquery图片特效当鼠标滑过图片时当前图片高亮显示其余另外的图片变暗。" />

</head>

<body>

<style type="text/css">

*{margin:0;padding:0;list-style-type:none;}

a,img{border:0;}

img{vertical-align:middle}

/* lamp */

.lamp{height:366px;width:960px;position:relative;margin:0 auto;}

.lamp .sublight{position:absolute;display:block;overflow:hidden;}

.lamp .pic1{top:0;left:0;width:240px;height:366px;}

.lamp .pic2{top:0;left:240px;width:480px;height:183px;}

.lamp .pic3{top:0;left:720px;width:240px;height:183px;}

.lamp .pic4{top:183px;left:240px;width:240px;height:183px;}

.lamp .pic5{top:183px;left:480px;width:240px;height:183px;}

.lamp .pic6{top:183px;left:720px;width:240px;height:183px;}

</style>

<div class="lamp">

    <a target="_blank" href="https://3water.com/" class="sublight pic1"><img src="图片URL"/></a>

    <a target="_blank" href="https://3water.com/" class="sublight pic2"><img src="图片URL"/></a>

    <a target="_blank" href="https://3water.com/" class="sublight pic3"><img src="图片URL"/></a>

    <a target="_blank" href="https://3water.com/" class="sublight pic4"><img src="图片URL"/></a>

    <a target="_blank" href="https://3water.com/" class="sublight pic5"><img src="图片URL"/></a>

    <a target="_blank" href="https://3water.com/" class="sublight pic6"><img src="图片URL"/></a>

</div>

<script type="text/javascript" src="jquery。js"></script>

<script type="text/javascript">

// 高亮效果

var blockHighLight = (function(window, $, undefined){

    var markers = [];

    return function(boxCls, itemCls, sizeArr){

        var box = $(boxCls);

        itemCls = itemCls || "a";

        box.find(itemCls).each(function(i){

            var self = $(this);

            var arr,w,h,marker;

            if(sizeArr !== undefined){

                arr = sizeArr[i].split(",");

                w = arr[0];

                h = arr[1];

            }else{

                w = self.find("img").attr("width");

                h = self.find("img").attr("height");

            }

            marker = $('<div style="cursor:pointer;top:0;left:0;position:absolute;width:'+w+'px;height:'+h+'px;filter:alpha(opacity=0);opacity: 0;background-color:#000;"></div>');

            self.append(marker);

            self.mouseover(function(){

                for(var i=0; i<markers.length; i++){

                    markers[i].show().css({"opacity":'0.2',"filter":"alpha(opacity=20)"});

                }

                marker.hide();

            });     

            markers.push(marker);

        });

        box.mouseout(function(){

            for(var i=0; i<markers.length; i++){

                markers[i].css({"opacity":'0',"filter":"alpha(opacity=0)"});

            }

        })

    }

})(this, $);

blockHighLight(

    ".lamp", //父元素

    ".sublight", //子元素集

    [

        '240,366', //第一张图片的宽高

        '480,183', //第二张图片的宽高

        '240,183', //第三张图片的宽高

        '240,183', //第四张图片的宽高

        '240,183', //第五张图片的宽高

        '240,183'  //第六张图片的宽高

    ]

); 

</script>

</body>

</html>

希望本文所述对大家的jQuery程序设计有所帮助。

Javascript 相关文章推荐
再论Javascript的类继承
Mar 05 Javascript
JSON 数字排序多字段排序介绍
Sep 18 Javascript
基于JavaScript将表单序列化类型的数据转化成对象的处理(允许对象中包含对象)
Dec 28 Javascript
Bootstrap每天必学之警告框插件
Apr 26 Javascript
Bootstrap图片轮播组件使用实例解析
Jun 30 Javascript
AngularJS基础 ng-submit 指令简单示例
Aug 03 Javascript
JS 判断某变量是否为某数组中的一个值的3种方法(总结)
Jul 10 Javascript
jQuery remove()过滤被删除的元素(推荐)
Jul 18 jQuery
vue项目中引入noVNC远程桌面的方法
Mar 05 Javascript
微信小程序实现左侧滑栏过程解析
Aug 26 Javascript
多个vue子路由文件自动化合并的方法
Sep 03 Javascript
angular共享依赖的解决方案分享
Oct 15 Javascript
js实现Select下拉框具有输入功能的方法
Feb 06 #Javascript
JQuery中serialize()用法实例分析
Feb 06 #Javascript
jQuery中on()方法用法实例详解
Feb 06 #Javascript
JS实现文字向下滚动完整实例
Feb 06 #Javascript
jquery中filter方法用法实例分析
Feb 06 #Javascript
Jquery对select的增、删、改、查操作
Feb 06 #Javascript
JavaScript常用的弹出广告及背投广告实现方法
Feb 06 #Javascript
You might like
PHP 5.0对象模型深度探索之绑定
2006/09/05 PHP
PHP 查找字符串常用函数介绍
2012/06/07 PHP
YII模块实现绑定二级域名的方法
2014/07/09 PHP
php通过array_unshift函数添加多个变量到数组前端的方法
2015/03/18 PHP
详解PHP对数组的定义以及数组的创建方法
2015/11/27 PHP
详解PHP的Yii框架中扩展的安装与使用
2016/04/01 PHP
thinkPHP5项目中实现QQ第三方登录功能
2017/10/20 PHP
javascript动态的改变IFrame的高度实现自动伸展
2013/10/12 Javascript
jquery库或JS文件在eclipse下报错问题解决方法
2014/04/17 Javascript
零基础搭建Node.js、Express、Ejs、Mongodb服务器及应用开发入门
2014/12/20 Javascript
jQuery提示插件alertify使用指南
2015/04/21 Javascript
jQuery表单设置值的方法
2017/06/30 jQuery
在Vue中如何使用Cookie操作实例
2017/07/27 Javascript
element-ui表格合并span-method的实现方法
2019/05/21 Javascript
js实现限定范围拖拽的示例
2020/10/26 Javascript
浅谈JSON5解决了JSON的两大痛点
2020/12/14 Javascript
基于JavaScript实现简单扫雷游戏
2021/01/02 Javascript
Python访问MySQL封装的常用类实例
2014/11/11 Python
基于Python os模块常用命令介绍
2017/11/03 Python
Python使用win32 COM实现Excel的写入与保存功能示例
2018/05/03 Python
让你Python到很爽的加速递归函数的装饰器
2019/05/26 Python
浅谈Python大神都是这样处理XML文件的
2019/05/31 Python
python 读写excel文件操作示例【附源码下载】
2019/06/19 Python
python实现桌面气泡提示功能
2019/07/29 Python
python+opencv实现移动侦测(帧差法)
2020/03/20 Python
带你学习Python如何实现回归树模型
2020/07/16 Python
CSS3实现伪类hover离开时平滑过渡效果示例
2017/08/10 HTML / CSS
canvas版人体时钟的实现示例
2021/01/29 HTML / CSS
英格兰橄榄球商店:England Rugby Store
2016/12/17 全球购物
.NET程序员的几道面试题
2012/06/01 面试题
软件测试英文面试题
2012/10/14 面试题
自我评价中英文语句
2013/11/30 职场文书
饲料采购员岗位职责
2013/12/19 职场文书
学校党风廉政建设调研报告
2015/01/01 职场文书
加入学生会自荐书
2015/03/05 职场文书
Nginx工作原理和优化总结。
2021/04/02 Servers