jQuery相册预览简单实现(附源码)
1、CSS样式
<style type="text/css">
html,body,.viewer,.viewer .pic-list,.viewer .pic-list li { width:100%; height:100%; vertical-align:middle;}
.viewer { position:relative; overflow:hidden;}
.viewer .bar { display:none; width:100%; height:28px; line-height:18px; background:#000; position:absolute; bottom:; left:; z-index:;}
.viewer .bar td { padding:5px 10px;}
.viewer .bar a { color:#fff;}
.viewer .list { overflow:hidden;}
.viewer .list li { list-style:none; display:none; overflow:hidden; text-align:center; vertical-align:middle;}
.viewer .list li img { vertical-align:middle;}
.viewer a.arrow { display:none; width:52px; height:42px; line-height:42px; text-align:center; overflow:hidden; color:#fff; background:#000; position:absolute; top:50%; margin-top:-30px; z-index:;}
.viewer a.prev { left:;}
.viewer a.next { right:;}
</style>
2、HTML
<div class="viewer">
<ul class="list" data="1">
<li><img src="data:images/temp/banner_1.jpg" alt="图片" /></li>
<li><img src="data:images/temp/banner_2.jpg" alt="图片" /></li>
<li><img src="data:images/temp/banner_3.jpg" alt="图片" /></li>
<li><img src="data:images/temp/banner_4.jpg" alt="图片" /></li>
<li><img src="data:images/temp/banner_5.jpg" alt="图片" /></li>
</ul>
<div class="bar">
<table width="100%">
<tr>
<td align="left"><a href="javascript:void(0)" class="bar-prev">上一作品集</a></td>
<td align="center"><a href="javascript:void(0)" target="_blank" class="bar-view">查看原图</a></td>
<td align="right"><a href="javascript:void(0)" class="bar-next">下一作品集</a></td>
</tr>
</table>
</div>
<a href="javascript:Viewer.prev()" class="arrow prev">上一张</a>
<a href="javascript:Viewer.next()" class="arrow next">下一张</a>
</div>
3、Javascript
<script type="text/javascript">
$(function () {
Viewer.init();
});
var Viewer = {
wrap: $('.viewer'),
listWrap: $('.list'),
list: $('.list li'),
nums: $('.list li').length,
barview: $('.bar-view'),
showbar: true,
init: function () {//初始化
Viewer.show(1);
},
show: function (index) {//显示索引项
if (Viewer.nums == 0) {
Viewer.error();
}
var e = Viewer.list.first();
var p = Viewer.wrap.find('a.prev');
var n = Viewer.wrap.find('a.next');
if (index < 2) {//显示第一项
index = 1;
e = Viewer.list.first();
p.css({ left: -100 });
n.css({ right: 0 });
} else if (index >= Viewer.nums) {//显示最后一项
index = Viewer.nums;
e = Viewer.list.last();
p.css({ left: 0 });
n.css({ right: -100 });
}
else {//显示当前项
p.css({ left: 0 });
n.css({ right: 0 });
e = Viewer.list.eq(index - 1);
}
e.fadeIn().siblings().fadeOut();
Viewer.listWrap.attr('data', index);
Viewer.barview.attr('href', e.find('img').attr('src'));
var m = Viewer.wrap.find('a.arrow');
var c = Viewer.wrap.find('.bar');
Viewer.wrap.mouseover(function () {
m.fadeTo(1, 0.5);
if (Viewer.showbar) {
c.fadeTo(1, 0.5);
}
}).mouseleave(function () {
m.hide();
c.hide();
});
},
prev: function () {//上一项
Viewer.show(parseInt(Viewer.listWrap.attr('data')) - 1);
},
next: function () {//下一项
Viewer.show(parseInt(Viewer.listWrap.attr('data')) + 1);
},
error: function () {//错误提示
Viewer.listWrap.remove();
Viewer.wrap.append('<h5 style=\"text-align:center\">抱歉,出错啦!</h5>');
return false;
}
}
</script>
4、实现效果

下载地址:http://files.cnblogs.com/wyguo/jquery_photo_viewer.zip
jQuery相册预览简单实现(附源码)的更多相关文章
- 高性能页面加载技术(流水线加载)BigPipe的C#简单实现(附源码)
一,BigPipe简介 BigPipe是一个重新设计的基础动态网页服务体系.大体思路是,分解网页成叫做Pagelets的小块,然后通过Web服务器和浏览器建立管道并管理他们在不同阶段的运行.这是类似于 ...
- 3.NetDh框架之缓存操作类和二次开发模式简单设计(附源码和示例代码)
前言 NetDh框架适用于C/S.B/S的服务端框架,可用于项目开发和学习.目前包含以下四个模块 1.数据库操作层封装Dapper,支持多种数据库类型.多库实例,简单强大: 此部分具体说明可参考博客: ...
- POI导出大量数据的简单解决方案(附源码)-Java-POI导出大量数据,导出Excel文件,压缩ZIP(转载自iteye.com)
说明:我的电脑 2.0CPU 2G内存 能够十秒钟导出 20W 条数据 ,12.8M的excel内容压缩后2.68M 我们知道在POI导出Excel时,数据量大了,很容易导致内存溢出.由于Excel ...
- AJAX技术之网易滚动新闻的简单实现(附源码)--AJAX
1.AJAX简介: AJAX = Asynchronous JavaScript and XML(异步的 JavaScript 和 XML). AJAX 不是新的编程语言,而是一种使用现有标准的新方法 ...
- PHP+JQuery+Ajax初始化网站基本信息(附源码)--PHP
一.思路 为了保存用户会员信息的时间长一些,不局限于session的关闭.我们需要将用户信息保存在数据库中,前台每次登录都需要进行校验,来查看用看用户会员信息是否过期,如果没有过期,取出用户会员信息存 ...
- jquery自定义插件结合baiduTemplate.js实现异步刷新(附源码)
上一篇记录了BaiduTemplate模板引擎使用示例附源码,在此基础上对使用方法进行了封装 自定义插件jajaxrefresh.js 代码如下: //闭包限定命名空间 (function ($) { ...
- 分享一组很赞的 jQuery 特效【附源码下载】
作为最优秀的 JavaScript 库之一,jQuery 不仅使用简单灵活,同时还有许多成熟的插件可供选择,它可以帮助你在项目中加入漂亮的效果.这篇文章挑选了8个优秀的 jQuery 实例教程,这些 ...
- 基于9款CSS3鼠标悬停相册预览特效
基于9款CSS3鼠标悬停相册预览特效里面包含九款不同方式的相册展开特效代码.效果图如下: 在线预览 源码下载 实现的代码. html代码: <div class="albums&q ...
- 在网站开发中很有用的8个 jQuery 效果【附源码】
jQuery 作为最优秀 JavaScript 库之一,改变了很多人编写 JavaScript 的方式.它简化了 HTML 文档遍历,事件处理,动画和 Ajax 交互,而且有成千上万的成熟 jQuer ...
随机推荐
- 翻译:使用tbb实现特征检测的例子
A feature-detection example using the Intel® Threading Building Blocks flow graph By Michael V. (Int ...
- 安装Weblogic12.1.3时遇到jre1.7.0_71不是有效的 JDK
解决方案:把fmw_12.1.3.0.0_wls.jar放到%JAVA_HOME%\bin目录下,然后执行java -jar fmw_12.1.3.0.0_wls.jar就能安装了.
- PHP —— 读取文件到二维数组
转自:PHP读取自定义ini文件到二维数组 读取文件,可以使用file_get_contents,file,parse_ini_file等,现在有一个需求,需要读取如下格式的文件: [food] ap ...
- 理解TCP为什么需要进行三次握手(白话)
原文地址:http://www.cnblogs.com/yuilin/archive/2012/11/05/2755298.html 首先简单介绍一下TCP三次握手 在TCP/IP协议中,TCP协议提 ...
- javascript - 简单实现一个图片延迟加载的jQuery插件
最近在看一本书<Third-Party Javascript>很不错,推荐给大家,下载地址各位自己搜索了. 步骤: 1.打开google,鉴于google基本打不开,那么就打开这个网址吧. ...
- html5media.js 让浏览器兼容<Video><Audio> 标签
介绍:https://html5media.info/ 项目:https://github.com/etianen/html5media Wiki:https://github.com/etianen ...
- ASP.NET中彩票项目中的计算复式投注的注数的方法
从别人做的项目中抽取出的代码:
- Swift 通用类型和通用函数 | Generic type and function
如果你想交换两个变量的值: 1. 整型 func swapTwoInts(inout a: Int, inout b: Int) { let temporaryA = a a = b b = temp ...
- OpenGL es3.0 初始化及渲染
class FOpenglEs { public: /** * 初始化 OpenGLES3.0 */ bool initOpenGLES30(HWND hwnd) { EGLConfig config ...
- Selenium关键字驱动测试框架Demo(Java版)
Selenium关键字驱动测试框架Demo(Java版)http://www.docin.com/p-803493675.html