jQuery相册预览简单实现(附源码)

1、CSS样式  

 1   <style type="text/css">
 2         html,body,.viewer,.viewer .pic-list,.viewer .pic-list li { width:100%; height:100%; vertical-align:middle;}
 3         .viewer { position:relative; overflow:hidden;}
 4         .viewer .bar { display:none; width:100%; height:28px; line-height:18px; background:#000; position:absolute; bottom:0; left:0; z-index:998;}
 5         .viewer .bar td { padding:5px 10px;}
 6         .viewer .bar a { color:#fff;}
 7         .viewer .list { overflow:hidden;} 
 8         .viewer .list li { list-style:none; display:none; overflow:hidden; text-align:center; vertical-align:middle;}
 9         .viewer .list li img { vertical-align:middle;}
10         .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:999;}
11         .viewer a.prev { left:0;}
12         .viewer a.next { right:0;}
13     </style>
View Code

2、HTML    

 1     <div class="viewer">
 2         <ul class="list" data="1">
 3             <li><img src="images/temp/banner_1.jpg" alt="图片" /></li>
 4             <li><img src="images/temp/banner_2.jpg" alt="图片" /></li>
 5             <li><img src="images/temp/banner_3.jpg" alt="图片" /></li>
 6             <li><img src="images/temp/banner_4.jpg" alt="图片" /></li>
 7             <li><img src="images/temp/banner_5.jpg" alt="图片" /></li>
 8         </ul>
 9         <div class="bar">
10             <table width="100%">
11                 <tr>
12                     <td align="left"><a href="javascript:void(0)" class="bar-prev">上一作品集</a></td>
13                     <td align="center"><a href="javascript:void(0)" target="_blank" class="bar-view">查看原图</a></td>
14                     <td align="right"><a href="javascript:void(0)" class="bar-next">下一作品集</a></td>
15                 </tr>
16             </table>
17         </div>
18         <a href="javascript:Viewer.prev()" class="arrow prev">上一张</a>
19         <a href="javascript:Viewer.next()" class="arrow next">下一张</a>
20     </div>
View Code

3、Javascript     

 1     <script type="text/javascript">
 2         $(function () {
 3             Viewer.init(); 
 4         });
 5         var Viewer = {
 6             wrap: $('.viewer'),
 7             listWrap: $('.list'),
 8             list: $('.list li'),
 9             nums: $('.list li').length,
10             barview: $('.bar-view'),
11             showbar: true,
12             init: function () {//初始化
13                 Viewer.show(1);
14             },
15             show: function (index) {//显示索引项
16                 if (Viewer.nums == 0) {
17                     Viewer.error();
18                 }
19                 var e = Viewer.list.first();
20                 var p = Viewer.wrap.find('a.prev');
21                 var n = Viewer.wrap.find('a.next');
22                 if (index < 2) {//显示第一项
23                     index = 1;
24                     e = Viewer.list.first();
25                     p.css({ left: -100 });
26                     n.css({ right: 0 });
27                 } else if (index >= Viewer.nums) {//显示最后一项
28                     index = Viewer.nums;
29                     e = Viewer.list.last();
30                     p.css({ left: 0 });
31                     n.css({ right: -100 });
32                 }
33                 else {//显示当前项
34                     p.css({ left: 0 });
35                     n.css({ right: 0 });
36                     e = Viewer.list.eq(index - 1);
37                 }
38                 e.fadeIn().siblings().fadeOut();
39                 Viewer.listWrap.attr('data', index);
40                 Viewer.barview.attr('href', e.find('img').attr('src'));
41                 var m = Viewer.wrap.find('a.arrow');
42                 var c = Viewer.wrap.find('.bar');
43                 Viewer.wrap.mouseover(function () {
44                     m.fadeTo(1, 0.5);
45                     if (Viewer.showbar) {
46                         c.fadeTo(1, 0.5);
47                     }
48                 }).mouseleave(function () {
49                     m.hide();
50                     c.hide();
51                 });
52             },
53             prev: function () {//上一项
54                 Viewer.show(parseInt(Viewer.listWrap.attr('data')) - 1);
55             },
56             next: function () {//下一项
57                 Viewer.show(parseInt(Viewer.listWrap.attr('data')) + 1);
58             },
59             error: function () {//错误提示
60                 Viewer.listWrap.remove();
61                 Viewer.wrap.append('<h5 style=\"text-align:center\">抱歉,出错啦!</h5>');
62                 return false;
63             }
64         }
65     </script>

4、实现效果

下载地址:http://files.cnblogs.com/wyguo/jquery_photo_viewer.zip 

 

 

转载于:https://www.cnblogs.com/wyguo/p/3635321.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
VB 做的相册(缩略图预览程序) VB做的小型相册,实际上是一个图片浏览程序,打开时显示缩略图,鼠标点击显示大图片,并可接着浏览下去,程序相关说明:   函数功能: 该函数将指定位图的位拷贝到缓冲区里?   函数原型:LONG GetBitmapBits(HBITMAP hbmp, LONG cbBuffer, LPVOID lpvBits);   参数:   hbmp:指向感兴趣的位图的句柄?   cbBuffer:指定要从位图拷贝到缓冲区的字节数?   lpvBits:指向接收位图位数据的缓冲区指针?这些位是按字节类型存储在数组中的?   返回值:如果该函数执行成功,那么返回值就是拷贝到缓冲区的字节数;如果该函数执行失败,那么返回值为0。   Declare Function GetBitmapBits Lib "gdi32" (ByVal hBitmap As Long, ByVal nwCount As Long, lpBits As Any) As Long      函数功能:该函数将位图的颜色数据位设置成指定值?   函数原型:LONG SetBitmapBits(HBITMAP hmbp, DWORD cBytes, CONST VOID (lpBits);   参数:   hbmp:指向要设置的位图的句柄?   cBytes:指定参数lpBits指向的数组的字节数?   lpBits:指向字节类型数组的指针?该数组中包含了指定位图的颜色数据?   返回值:如果该函数执行成功,则返回值就是在设置位图位时使用的字节数;如果失败,则返回值为0。      函数功能:该函数得到指定图形对象的信息,根据图形对象,函数把填满的或结构,或表项(用于逻辑调色板)数目放入一个指定的缓冲区。   函数原型:int GetObject(HGDIOBJ hgdiobj, int cbBuffer, LPVOID lpvObject);   参数:   hgdiobj:指向感兴趣的图形对象的句柄,它可以是这样的一个句柄:一个逻辑位图、一个刷子、一种字体、一个调色板、笔或通过调用CreateDIBsection函数创建的与设备无关位图。   cbBuffer:指定将要写到缓冲区的信息的字节数目?‘lpvObject:指向一个缓冲区的指针,该缓冲区将要检索指定图形对象的信息。      函数功能描述:将一块内存的数据从一个位置复制到另一个位置   函数原型:VOID CopyMemory(PVOID Destination,CONST VOID *Source,DWORD Length);   参数:   Destination:要复制内存块的目的地址?   Source:要复制内存块的源地址?   Length:指定要复制内存块的大小,单位为字节   返回值:该函数为VOID型,没有返回值。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值