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 相关文章推荐
jquery 学习笔记 传智博客佟老师附详细注释
Sep 12 Javascript
Prototype ObjectRange对象学习
Jul 19 Javascript
js 表单提交后按钮变灰的实例代码
Aug 16 Javascript
jQuery瀑布流插件Wookmark使用实例
Apr 02 Javascript
node.js应用后台守护进程管理器Forever安装和使用实例
Jun 01 Javascript
Javascript基础教程之定义和调用函数
Jan 18 Javascript
js实现将选中内容分享到新浪或腾讯微博
Dec 16 Javascript
jQuery居中元素scrollleft计算方法示例
Jan 16 Javascript
vue父子组件的数据传递示例
Mar 07 Javascript
使用 Node.js 对文本内容分词和关键词抽取
May 27 Javascript
利用Node.js如何实现文件循环覆写
Apr 05 Javascript
Vue移动端用淘宝弹性布局lib-flexible插件做适配的方法
May 26 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
星际初学者游戏中永远要做的事
2020/03/04 星际争霸
PHP禁止页面缓存的代码
2011/10/23 PHP
去除php注释和去除空格函数分享
2014/03/13 PHP
PHP的图像处理实例小结【文字水印、图片水印、压缩图像等】
2019/12/20 PHP
Jquery 动态添加按钮实现代码
2010/05/06 Javascript
js 判断文件类型并控制表单提交示例代码
2013/11/14 Javascript
跟我学习javascript的执行上下文
2015/11/18 Javascript
基于jQuery实现以手风琴方式展开和折叠导航菜单
2016/01/28 Javascript
AngularJS 表达式详解及实例代码
2016/09/14 Javascript
Node.js读取文件内容示例
2017/03/07 Javascript
Node.js之网络通讯模块实现浅析
2017/04/01 Javascript
关于vuex的学习实践笔记
2017/04/05 Javascript
详解Vue.js v-for不支持IE9的解决方法
2018/12/29 Javascript
element-ui组件中input等的change事件中传递自定义参数
2019/05/22 Javascript
layui自定义ajax左侧三级菜单
2019/07/26 Javascript
ES6学习笔记之字符串、数组、对象、函数新增知识点实例分析
2020/01/22 Javascript
微信小程序实现组件顶端固定或底端固定效果(不随滚动而滚动)
2020/04/09 Javascript
[00:52]黑暗之门更新 新英雄孽主驾临DOTA2
2016/08/24 DOTA
Python中使用select模块实现非阻塞的IO
2015/02/03 Python
python实现的简单猜数字游戏
2015/04/04 Python
python实现爬虫统计学校BBS男女比例(一)
2015/12/31 Python
python中如何使用正则表达式的非贪婪模式示例
2017/10/09 Python
Python 多进程并发操作中进程池Pool的实例
2017/11/01 Python
python保存数据到本地文件的方法
2018/06/23 Python
Python3 Tkinter选择路径功能的实现方法
2019/06/14 Python
python如何实现异步调用函数执行
2019/07/08 Python
Python 离线工作环境搭建的方法步骤
2019/07/29 Python
python实现屏保程序(适用于背单词)
2019/07/30 Python
tensorflow如何继续训练之前保存的模型实例
2020/01/21 Python
Python 通过监听端口实现唯一脚本运行方式
2020/05/05 Python
科颜氏法国官网:Kiehl’s法国
2019/08/20 全球购物
be2台湾单身男女交友:全球网路婚姻介绍的领导品牌
2019/10/11 全球购物
电大毕业生自我鉴定
2014/04/10 职场文书
小学优秀班集体申报材料
2014/05/25 职场文书
九一八事变演讲稿范文
2014/09/14 职场文书
小学教学工作总结2015
2015/05/13 职场文书