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对数字的格式化使用说明
Jan 12 Javascript
基于Jquery的跨域传输数据(JSONP)
Mar 10 Javascript
js限制文本框只能输入数字(正则表达式)
Jul 15 Javascript
js复制网页内容并兼容各主流浏览器的代码
Dec 17 Javascript
JavaScript中的操作符==与===介绍
Dec 31 Javascript
全面解析Bootstrap图片轮播效果
Dec 03 Javascript
jQuery实现下拉菜单(内容为时间)的实时更新及图表的随动更新的方法
Jul 07 Javascript
javascript设计模式之module(模块)模式
Aug 19 Javascript
利用canvas中toDataURL()将图片转为dataURL(base64)的方法详解
Nov 20 Javascript
web前端vue之CSS过渡效果示例
Jan 10 Javascript
js实现for循环跳过undefined值示例
Jul 02 Javascript
基于Express框架使用POST传递Form数据
Aug 10 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
如何实现给定日期的若干天以后的日期
2006/10/09 PHP
PHP 第三节 变量介绍
2012/04/28 PHP
PHP数据类型的总结分析
2013/06/13 PHP
Referer原理与图片防盗链实现方法详解
2019/07/03 PHP
JavaScript While 循环基础教程
2007/04/05 Javascript
在模板页面的js使用办法
2010/04/01 Javascript
javascript多种数据类型表格排序代码分析
2010/09/11 Javascript
关于使用 jBox 对话框的提交不能弹出问题解决方法
2012/11/07 Javascript
js实现从中间开始往上下展开网页窗口的方法
2015/03/02 Javascript
JS仿淘宝实现的简单滑动门效果代码
2015/10/14 Javascript
详解JavaScript基于面向对象之创建对象(1)
2015/12/10 Javascript
KnockoutJS 3.X API 第四章之表单value绑定
2016/10/10 Javascript
微信小程序 数据遍历的实现
2017/04/05 Javascript
详解Nodejs之npm&amp;package.json
2017/06/15 NodeJs
浅谈使用React.setState需要注意的三点
2017/12/18 Javascript
微信小程序显示倒计时功能示例【测试可用】
2018/12/03 Javascript
vue setInterval 定时器失效的解决方式
2020/07/30 Javascript
python中将阿拉伯数字转换成中文的实现代码
2011/05/19 Python
在Apache服务器上同时运行多个Django程序的方法
2015/07/22 Python
python创建列表并给列表赋初始值的方法
2015/07/28 Python
Django 2.0版本的新特性抢先看!
2018/01/05 Python
python面向对象法实现图书管理系统
2019/04/19 Python
python使用tkinter库实现五子棋游戏
2019/06/18 Python
python性能测量工具cProfile使用解析
2019/09/26 Python
python 导入数据及作图的实现
2019/12/03 Python
tensorflow 查看梯度方式
2020/02/04 Python
Django如何实现防止XSS攻击
2020/10/13 Python
澳洲女装时尚在线:Blue Bungalow
2018/05/05 全球购物
销售总监岗位职责
2014/01/04 职场文书
入党转预备思想汇报
2014/01/07 职场文书
校运会广播稿100字
2014/01/27 职场文书
小区消防演习方案
2014/02/21 职场文书
详解Java分布式事务的 6 种解决方案
2021/06/26 Java/Android
纯CSS3实现div按照顺序出入效果
2021/07/15 HTML / CSS
JavaScript函数柯里化
2021/11/07 Javascript
详解SQL的窗口函数
2022/04/21 Oracle