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使用办法
Apr 01 Javascript
Jquery中的CheckBox、RadioButton、DropDownList的取值赋值实现代码
Oct 12 Javascript
用js判断页面是否加载完成实现代码
Dec 11 Javascript
JavaScript输入邮箱自动提示实例代码
Jan 13 Javascript
javascript每日必学之运算符
Feb 16 Javascript
浅析AngularJS中的指令
Mar 20 Javascript
AngularJS入门教程之表格实例详解
Jul 27 Javascript
JS返回只包含数字类型的数组实例分析
Dec 16 Javascript
jQuery实现的简单前端搜索功能示例
Oct 28 jQuery
vue微信分享 vue实现当前页面分享其他页面
Dec 02 Javascript
使用layer弹窗和layui表单实现新增功能
Aug 09 Javascript
在Create React App中启用Sass和Less的方法示例
Jan 16 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使用fgetcsv读取csv文件出现乱码的解决方法
2014/11/08 PHP
php 生成Tab键或逗号分隔的CSV
2016/09/24 PHP
PHP结合Ueditor并修改图片上传路径
2016/10/16 PHP
解决PHP上传非标准格式的图片pjpeg失败的方法
2017/03/12 PHP
PHP实现根据密码长度显示安全条
2017/07/04 PHP
php依赖注入知识点详解
2019/09/23 PHP
PHP设计模式之组合模式定义与应用示例
2020/02/01 PHP
PHP加MySQL消息队列深入理解
2021/02/27 PHP
js用图作提交按钮或超连接
2008/03/26 Javascript
一个js写的日历(代码部分网摘)
2009/09/20 Javascript
JS的参数传递示例介绍
2014/02/08 Javascript
一个判断抢购时间是否到达的简单的js函数
2014/06/23 Javascript
JavaScript中的DSL元编程介绍
2015/03/15 Javascript
jQuery取得iframe中元素的常用方法详解
2016/01/14 Javascript
BootStrap tooltip提示框使用小结
2016/10/26 Javascript
微信小程序动态生成二维码的实现代码
2018/07/25 Javascript
在Node.js下运用MQTT协议实现即时通讯及离线推送的方法
2019/01/24 Javascript
原生JS实现逼真的图片3D旋转效果详解
2019/02/16 Javascript
vue项目中锚点定位替代方式
2019/11/13 Javascript
js实现纯前端压缩图片
2020/11/16 Javascript
python sqlobject(mysql)中文乱码解决方法
2008/11/14 Python
在Python程序中操作文件之flush()方法的使用教程
2015/05/24 Python
python字符串,数值计算
2016/10/05 Python
Python升级导致yum、pip报错的解决方法
2017/09/06 Python
利用Tkinter和matplotlib两种方式画饼状图的实例
2017/11/06 Python
Python 读取某个目录下所有的文件实例
2018/06/23 Python
python 将dicom图片转换成jpg图片的实例
2020/01/13 Python
解决pytorch-yolov3 train 报错的问题
2020/02/18 Python
python使用gdal对shp读取,新建和更新的实例
2020/03/10 Python
洛杉矶生活休闲而精致的基础品牌:Mika Jaymes
2018/01/07 全球购物
ellesse美国官方商店:意大利高级运动服品牌
2019/10/29 全球购物
小米乌克兰网上商店:Xiaomi.UA
2019/10/29 全球购物
C语言基础笔试题
2013/04/27 面试题
产品生产计划书
2014/05/07 职场文书
女生节标语
2014/06/26 职场文书
Docker与K8s关系介绍不会Docker也可以使用K8s
2022/06/25 Servers