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之对系统的toFixed()方法的修正
May 08 Javascript
拖拉表格的JS函数
Nov 20 Javascript
Jquery Uploadify上传带进度条的简单实例
Feb 12 Javascript
再探JavaScript作用域
Sep 24 Javascript
Javascript基础教程之数据类型 (字符串 String)
Jan 18 Javascript
无刷新上传文件并返回自定义值
Jun 11 Javascript
JS实现自定义简单网页软键盘效果代码
Nov 05 Javascript
自动适应iframe右边的高度
Dec 22 Javascript
vue进入页面时不在顶部,检测滚动返回顶部按钮问题及解决方法
Oct 30 Javascript
javascript实现弹出层效果
Dec 10 Javascript
JS函数基本定义与用法示例
Jan 15 Javascript
浅谈TypeScript 索引签名的理解
Oct 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执行速度全攻略(下)
2006/10/09 PHP
IP攻击升级,程序改进以对付新的攻击
2010/11/23 PHP
php中echo()和print()、require()和include()等易混淆函数的区别
2012/02/22 PHP
php5.3 不支持 session_register() 此函数已启用的解决方法
2013/11/12 PHP
PHP获取数组中单列值的方法
2017/06/10 PHP
基于Jquery的开发个代阴影的对话框效果代码
2011/07/28 Javascript
尝试在让script的type属性等于text/html
2013/01/15 Javascript
JS插件overlib用法实例详解
2015/12/26 Javascript
使用jQuery实现Web页面换肤功能的要点解析
2016/05/12 Javascript
jQuery实现表格隔行及滑动,点击时变色的方法【测试可用】
2016/08/20 Javascript
基于DOM节点删除之empty和remove的区别(详解)
2017/09/11 Javascript
vue打包的时候自动将px转成rem的操作方法
2018/06/20 Javascript
vue-cli 打包后提交到线上出现 &quot;Uncaught SyntaxError:Unexpected token&quot; 报错
2018/11/06 Javascript
基于vue+element实现全局loading过程详解
2020/07/10 Javascript
apache部署python程序出现503错误的解决方法
2017/07/24 Python
Numpy之文件存取的示例代码
2018/08/03 Python
python绘制散点图并标记序号的方法
2018/12/11 Python
在Python中字典根据多项规则排序的方法
2019/01/21 Python
Python利用神经网络解决非线性回归问题实例详解
2019/07/19 Python
python中的逆序遍历实例
2019/12/25 Python
python的列表List求均值和中位数实例
2020/03/03 Python
Python函数参数分类原理详解
2020/05/28 Python
python如何安装下载后的模块
2020/07/03 Python
关于python3.9安装wordcloud出错的问题及解决办法
2020/11/02 Python
css3与html5实现响应式导航菜单(导航栏)效果分享
2014/02/12 HTML / CSS
企业面试题试卷附带答案
2015/12/20 面试题
求职信模版
2013/11/30 职场文书
20年同学聚会邀请函
2014/02/04 职场文书
高三毕业寄语
2014/04/10 职场文书
校园演讲稿汇总
2014/05/21 职场文书
职务任命书范本
2014/06/05 职场文书
2015应届毕业生求职信范文
2015/03/20 职场文书
教师“一帮一”结对子活动总结
2015/05/07 职场文书
《猴王出世》教学反思
2016/02/23 职场文书
Mysql 如何实现多张无关联表查询数据并分页
2021/06/05 MySQL
css实现两栏布局,左侧固定宽,右侧自适应的多种方法
2021/08/07 HTML / CSS