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 相关文章推荐
一个很酷的拖动层的js类,兼容IE及Firefox
Jun 23 Javascript
document.createElement()用法
Mar 13 Javascript
把jQuery的类、插件封装成seajs的模块的方法
Mar 12 Javascript
使用变量动态设置js的属性名
Oct 19 Javascript
jquery使用正则表达式验证email地址的方法
Jan 22 Javascript
Node.js返回JSONP详解
May 18 Javascript
jquery配合.NET实现点击指定绑定数据并且能够一键下载
Oct 28 Javascript
React组件的三种写法总结
Jan 12 Javascript
jQuery实现 RadioButton做必选校验功能
Jun 15 jQuery
解决vue-cli中stylus无法使用的问题方法
Jun 19 Javascript
vue better-scroll插件使用详解
Jan 25 Javascript
vue3.0中使用element的完整步骤
Mar 04 Vue.js
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后门代码解析
2014/07/05 PHP
Docker搭建自己的PHP开发环境
2018/02/24 PHP
Windows下wamp php单元测试工具PHPUnit安装及生成日志文件配置方法
2018/05/28 PHP
xml和web特殊字符
2009/04/28 Javascript
jQuery插件 tabBox实现代码
2010/02/09 Javascript
仿中关村在线首页弹出式广告插件(jQuery版)
2012/05/03 Javascript
JS获取随机数函数可自定义最小值最大值
2014/05/08 Javascript
href下载文件根据id取url并下载
2014/05/28 Javascript
js使用split函数按照多个字符对字符串进行分割的方法
2015/03/20 Javascript
js实现简单的联动菜单效果
2015/08/19 Javascript
angular ng-repeat数组中的数组实例
2017/02/18 Javascript
vue 巧用过渡效果(小结)
2018/09/22 Javascript
小程序使用watch监听数据变化的方法详解
2019/09/20 Javascript
微信小程序如何播放腾讯视频的实现
2019/09/20 Javascript
在Layui中操作数据表格,给指定单元格添加事件示例
2019/10/26 Javascript
[05:22]DOTA2 2015国际邀请赛中国区预选赛首日TOP10
2015/05/26 DOTA
Python实现文件按照日期命名的方法
2015/07/09 Python
python入门基础之用户输入与模块初认识
2016/11/14 Python
python实现协同过滤推荐算法完整代码示例
2017/12/15 Python
Tensorflow 自带可视化Tensorboard使用方法(附项目代码)
2018/02/10 Python
python中的tcp示例详解
2018/12/09 Python
Django中在xadmin中集成DjangoUeditor过程详解
2019/07/24 Python
Python3运算符常见用法分析
2020/02/14 Python
Pandas实现一列数据分隔为两列
2020/05/18 Python
外贸英语毕业生自荐信
2013/11/14 职场文书
平面设计师工作职责范文
2013/12/03 职场文书
学生党员的自我评价范文
2014/03/01 职场文书
商学院大学生求职的自我评价
2014/03/12 职场文书
小学生期末评语
2014/04/21 职场文书
向国旗敬礼活动小结
2014/09/27 职场文书
2014年外联部工作总结
2014/11/17 职场文书
旷工检讨书1000字
2015/01/01 职场文书
在职人员跳槽求职信
2015/03/20 职场文书
2015年公务员试用期工作总结
2015/05/28 职场文书
《日月潭》教学反思
2016/02/20 职场文书
vue实现可以快进后退的跑马灯组件
2022/04/08 Vue.js