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动态建立或增加CSS样式表的实现方法
May 20 Javascript
JavaScript简单下拉菜单特效
Sep 13 Javascript
JS遍历对象属性的方法示例
Jan 10 Javascript
微信小程序实现给循环列表添加点击样式实例
Apr 26 Javascript
js如何获取网页所有图片
May 12 Javascript
vue2.0 自定义日期时间过滤器
Jun 07 Javascript
关于webpack代码拆分的解析
Jul 20 Javascript
vue权限问题的完美解决方案
May 08 Javascript
vue 表单之通过v-model绑定单选按钮radio
May 13 Javascript
解决VUE双向绑定失效的问题
Oct 29 Javascript
JS实现轮播图效果
Jan 11 Javascript
JavaScript find()方法及返回数据实例
Apr 30 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的switch判断语句的“高级”用法详解
2014/10/01 PHP
yii2实现根据时间搜索的方法
2016/05/25 PHP
PHP命名空间与自动加载机制的基础介绍
2019/08/25 PHP
jquery的$(document).ready()和onload的加载顺序
2010/05/26 Javascript
不使用中间变量,交换int型的 a, b两个变量的值。
2010/10/29 Javascript
javascript中[]和{}对象使用介绍
2013/03/20 Javascript
js 使FORM表单的所有元素不可编辑的示例代码
2013/10/17 Javascript
JS、DOM和JQuery之间的关系示例分析
2014/04/09 Javascript
JavaScript函数详解
2014/11/17 Javascript
JQuery radio(单选按钮)操作方法汇总
2015/04/15 Javascript
jQuery滚动条插件nanoscroller使用指南
2015/04/21 Javascript
Jquery使用css方法改变样式实例
2015/05/18 Javascript
jQuery实现的放大镜效果示例
2016/09/13 Javascript
angularjs实现下拉列表的选中事件示例
2017/03/03 Javascript
Vue组件通信之Bus的具体使用
2017/12/28 Javascript
基于vue-cli搭建多模块且各模块独立打包的项目
2019/06/12 Javascript
[00:34]TI7不朽珍藏III——地穴编织者不朽展示
2017/07/15 DOTA
详解Python多线程
2016/11/14 Python
PyCharm 常用快捷键和设置方法
2017/12/20 Python
Python3.5内置模块之time与datetime模块用法实例分析
2019/04/27 Python
flask框架jinja2模板与模板继承实例分析
2019/08/01 Python
Python利用FFT进行简单滤波的实现
2020/02/26 Python
使用python库xlsxwriter库来输出各种xlsx文件的示例
2020/09/01 Python
numba提升python运行速度的实例方法
2021/01/25 Python
CSS3 分类菜单效果
2019/05/27 HTML / CSS
canvas实现按住鼠标移动绘制出轨迹的示例代码
2018/02/05 HTML / CSS
如何打印出当前源文件的文件名以及源文件的当前行号
2015/04/05 面试题
百度吧主申请感言
2014/01/12 职场文书
前台文员职责范本
2014/03/07 职场文书
2015年大学生暑期实习报告
2015/07/13 职场文书
写给同事的离职感言
2015/08/04 职场文书
《从现在开始》教学反思
2016/02/16 职场文书
90条交通安全宣传标语
2019/10/12 职场文书
小型企业的绩效考核制度模板
2019/11/21 职场文书
position:sticky 粘性定位的几种巧妙应用详解
2021/04/24 HTML / CSS
未发现nvidia显卡怎么办?Win11系统中未检测到nvidia显卡解决教程
2022/04/08 数码科技