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 ...
随机推荐
- xcode中嵌入framework(接入快用最新SDK遇到的问题)
但xcode设置中并没有找到Embed Frameworks这个选项,使用以下方式添加 当遇到dyld: Library not loaded:xxxx Reason: image not fo ...
- mysqld.exe 占了400M内存的问题
最近遇到了服务器总是停机的问题,虽然它自己只有2G的内存,不过实际部署的应用访问量非常小,也不至于2G就不够用,所以开始了给服务器瘦身的计划. 看着任务管理器里面的各个进程,发现吃内存最厉害的是mys ...
- 【CUDA学习】全局存储器
全局存储器,即普通的显存,整个网格中的任意线程都能读写全局存储器的任意位置. 存取延时为400-600 clock cycles 非常容易成为性能瓶颈. 访问显存时,读取和存储必须对齐,宽度为4By ...
- POI 设置EXCEL单元格格式(日期数字文本等)
HSSFCellStyle style0 = workbook2003.createCellStyle(); style0.setBorderBottom(HSSFCellStyle.BORDER_T ...
- 在IE7下使用angularjs(转)
在我的环境中,主要支持的浏览器为:ie7, ie8, ie9, chrome等.在试验angularjs时,发现在ie7环境下运行有问题,于是在网上搜了一下相关的内容,说HTML标签的写法要这样: & ...
- runtime MethodSwizzle 实践之 奇怪crash : [UIKeyboardLayoutStar release]: message sent to deallocated instance
情景: 使用MethodSwizzle 实现对数组.字典 等系统方法的安全校验.显然能达到预期效果,但实际发现当 键盘显示的情况下 home app 进入后台,再单击app 图标 切换回前台时 发 ...
- hdu 1845
一看题意就是二分匹配问题,建边是双向的,两个集合都是n个点 这题的图很特殊,每个点都要与三个点相连,在纸上画了六个点的图就感觉此图最大匹配肯定是六,除以2就是原图的匹配了,就感觉这样的图肯定会达到满匹 ...
- Codeforces Round #160 (Div. 1) 题解【ABCD】
Codeforces Round #160 (Div. 1) A - Maxim and Discounts 题意 给你n个折扣,m个物品,每个折扣都可以使用无限次,每次你使用第i个折扣的时候,你必须 ...
- HDU 4759 Poker Shuffle
Poker Shuffle Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Tot ...
- IOS开发 应用程序图标数字角标
其实实现这个功能很简单,只要调用UIApplication即可. 用法用例:[UIApplication sharedApplication].applicationIconBadgeNumber ...