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 拾碎[三] 使用className属性
Oct 16 Javascript
Js切换功能的简单方法
Nov 23 Javascript
vue2组件实现懒加载浅析
Mar 29 Javascript
Vue Transition实现类原生组件跳转过渡动画的示例
Aug 19 Javascript
前端防止用户重复提交js实现代码示例
Sep 07 Javascript
VUE2.0+ElementUI2.0表格el-table循环动态列渲染的写法详解
Nov 30 Javascript
使用vue脚手架(vue-cli)搭建一个项目详解
May 09 Javascript
javascript中call,apply,callee,caller用法实例分析
Jul 24 Javascript
JS对日期操作封装代码实例
Nov 08 Javascript
vue如何搭建多页面多系统应用
Jun 17 Javascript
详解JavaScript类型判断的四种方法
Oct 21 Javascript
解决vue项目axios每次请求session不一致的问题
Oct 24 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验证码类分享
2014/11/18 PHP
如何使用jQuery+PHP+MySQL来实现一个在线测试项目
2015/04/26 PHP
php实现用已经过去多长时间的方式显示时间
2015/06/05 PHP
win7系统配置php+Apache+mysql环境的方法
2015/08/21 PHP
JavaScript字符串对象slice方法入门实例(用于字符串截取)
2014/10/16 Javascript
js格式化时间小结
2014/11/03 Javascript
jQuery使用toggleClass方法动态添加删除Class样式的方法
2015/03/26 Javascript
node.js使用cluster实现多进程
2016/03/17 Javascript
vue开发心得和技巧分享
2016/10/27 Javascript
AngularJS实现路由实例
2017/02/12 Javascript
十大 Node.js 的 Web 框架(快速提升工作效率)
2017/06/30 Javascript
基于JavaScript实现淘宝商品广告效果
2017/08/10 Javascript
微信小程序实现页面分享onShareAppMessage
2019/08/12 Javascript
解决vue单页面应用进入页面加载所有 js 的问题
2020/08/12 Javascript
vue表单验证之禁止input输入框输入空格
2020/12/03 Vue.js
vue+elementUI动态增加表单项并添加验证的代码详解
2020/12/17 Vue.js
[01:56]《DOTA2》中文配音CG
2013/04/22 DOTA
[01:05:56]2018DOTA2亚洲邀请赛3月29日 小组赛A组 Newbee VS VG
2018/03/30 DOTA
Python读取csv文件分隔符设置方法
2019/01/14 Python
python与字符编码问题
2019/05/24 Python
使用Python实现将list中的每一项的首字母大写
2019/06/11 Python
如何用Python做一个微信机器人自动拉群
2019/07/03 Python
Python pip安装第三方库实现过程解析
2020/07/09 Python
基于python实现生成指定大小txt文档
2020/07/20 Python
python 调用Google翻译接口的方法
2020/12/09 Python
Python实现随机爬山算法
2021/01/29 Python
Pytorch实现WGAN用于动漫头像生成
2021/03/04 Python
美国在线乐器和设备商店:Musician’s Friend
2018/07/06 全球购物
澳大利亚婴儿喂养品牌:Cherub Baby
2018/11/01 全球购物
意大利珠宝店:Luxury Zone
2019/01/05 全球购物
员工自我鉴定范文
2013/10/06 职场文书
中学教师请假制度
2014/02/03 职场文书
房产继承公证书
2014/04/09 职场文书
房屋买卖协议书范本
2014/04/10 职场文书
建党伟业的观后感
2015/06/01 职场文书
三好学生竞选稿范文
2019/08/21 职场文书