栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > Web开发 > JavaScript

jquery插件jquery.LightBox.js实现点击放大图片并左右点击切换效果(附demo源码下载)

JavaScript 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

jquery插件jquery.LightBox.js实现点击放大图片并左右点击切换效果(附demo源码下载)

本文实例讲述了jquery插件jquery.LightBox.js实现点击放大图片并左右点击切换效果。分享给大家供大家参考,具体如下:

该插件乃文章作者所写,目的在于提升作者的js能力,也给一些js菜鸟在使用插件时提供一些便利,老鸟就悠然地飞过吧。

此插件旨在实现目前较为流行的点击放大图片并左右点击切换图片的效果,您可以根据自己的实际需求来设置是否添加左右切换图片的效果。整体代码如下:





无标题文档

*{margin:0;padding:0;}
li{list-style:none;}
.item{margin:20px;}
.item ul li{float:left;margin-right:20px;}
.item ul li img{width:100px;cursor:pointer;}
.lb_wrap{display:none;}
.lightbox_bg{background:#000;filter:alpha(opacity=70);opacity:.7;position:absolute;left:0;top:0;width:100%;height:100%;z-index:1;}
.lightbox{position:absolute;left:0;top:50%;width:100%;z-index:2;text-align:center;}
.lightbox p{position:absolute;height:61px;width:38px;top:50%;left:0;z-index:2;background:transparent url(themes.png) no-repeat left top;margin-top:-30.5px;cursor:pointer;}
.lightbox p.next{left:auto;background-position:right top;right:0;}






 

插件jquery.LightBox.js代码:


;(function(a){
  a.fn.LightBox = function(options){
    var defaults = {
      controls : true //上一张、下一张按钮是否显示,默认是显示true
      }
    var opts = a.extend(defaults, options);
    var lb_wrap = '';
    a("body").append(lb_wrap);
    //controls
    if(opts.controls){
      a(".lightbox").append('

'); } function imgobj(obj1, obj2){ //imgObj.height是通过img对象获取的图片的实际高度 var imgObj = new Image(); imgObj.src = obj1.attr("src"); var margintop = 0 - (imgObj.height)/2; obj2.css("margin-top",margintop); } this.each(function(){ var obj = a(this); var numpic = obj.find("li").length; var num = 0; //点击赋值并显示 obj.find("img").click(function(){ var src = a(this).attr("src"); a(".lg_img").attr("src",src); imgobj(a(".lg_img"), a(".lightbox")); a(".lb_wrap").fadeIn(); a(".lg_img").fadeIn(); a(".prev").fadeIn().siblings(".next").fadeIn(); num = a(this).parent().index(); //获取当前图片的父元素的索引并赋给num为后边点击上一张、下一张服务 }); //上一张 a(".prev").click(function(){ if(num == 0){ num = numpic; } var src = obj.find("li").eq(num-1).find("img").attr("src"); a(".lg_img").attr("src",src); imgobj(a(".lg_img"), a(".lightbox")); num--; }); //下一张 a(".next").click(function(){ if(num == numpic-1){ num = -1; } var src = obj.find("li").eq(num+1).find("img").attr("src"); a(".lg_img").attr("src",src); imgobj(a(".lg_img"), a(".lightbox")); num++; }); //点击除了上一张、下一张之外的其他地方隐藏 a(".lb_wrap").click(function(e){ var e = e || window.event; var elem = e.target || e.srcElement; while(elem){ if (elem.className && elem.className.indexOf('prev')>-1) { return; } if(elem.className && elem.className.indexOf('next')>-1){ return; } elem = elem.parentNode; } a(this).find("img").attr("src","loading.gif").hide(); //隐藏后,再将默认的图片赋给lightbox中图片的src a(this).find(".prev").hide().siblings(".next").hide(); a(this).fadeOut(); }); }) } })(jQuery);

完整实例代码点击此处本站下载。

更多关于jQuery相关内容感兴趣的读者可查看本站专题:《jQuery拖拽特效与技巧总结》、《jQuery扩展技巧总结》、《jQuery常见经典特效汇总》、《jQuery动画与特效用法总结》及《jquery选择器用法总结》

希望本文所述对大家jQuery程序设计有所帮助。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/98214.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号