+ -
当前位置:首页 → 问答吧 → [原创]【类似QQ空间相片查看jQuery插件】

[原创]【类似QQ空间相片查看jQuery插件】

时间:2010-08-06

来源:互联网

今天无聊,看了一下jQuery插件的开发方法,咨询了一下郑GG,就想开发一个类似QQ空间相片的查看插件来试验一下,就是那种鼠标标移到图片的左边或右边指针做出不同的变化,点击时分别显示上一张或下一张相片,当然这个没有QQ空间那么好用,不过大概功能框架有了,有兴趣的朋友可以自己去修改它以适合你项目的需求:
  1. /*
  2. 项目:类似QQ空间的相片查看插件
  3. 作者:袁维
  4. 感谢:水龙提供得到图片位置的算法和cursor的兼容性研究
  5. 调用方式:

  6. $('#img1').showimg({
  7. cursorLeftImg:'images/left.cur',
  8. cursorRigthImg:'images/right.cur',
  9. imgAry:['images/1.jpg','images/4.jpg','images/5.jpg','images/7.jpg','images/8.jpg'],
  10. fastBackFun:function(){alert('fast')},
  11. lastBackFun:function(){alert('last')},
  12. });
  13. */
  14. (function($){
  15.         $.fn.extend({
  16.                 showimg:function(dataObj){
  17.                         //当前的mouse位置
  18.                         var curMouPos = 0;// 0:左边 1:右边
  19.                         //当前图片的所处 imgAry 的索引
  20.                         var curImgIndex = 0;
  21.                         //所有图片的个数
  22.                         var imgSize = dataObj.imgAry.length;
  23.                         //图片mousemove事件
  24.                         this.mousemove(function(e){
  25.                                 //得到指针位置
  26.                                 var eve = e || window.event;
  27.                                 var event_left = eve.clientX;
  28.                                 //得到图片的宽
  29.                                 var img_width = this.width;
  30.                                 //图片相对BODY的左边
  31.                                 var img_left = this.offsetLeft;
  32.                                 //图片相对BODY的中间
  33.                                 var img_conter = parseInt(img_left + img_width/2);
  34.                                 if(event_left < img_conter){//在左边
  35.                                         this.style.cursor="url('"+dataObj.cursorLeft+"'), auto";  
  36.                                         curMouPos = 0;
  37.                                 }else{ //在右边
  38.                                         this.style.cursor="url('"+dataObj.cursorRigth+"'), auto";  
  39.                                         curMouPos = 1;
  40.                                 }
  41.                         });
  42.                         //图片的单击事件
  43.                         this.click(function(){
  44.                                 if(curMouPos == 0){
  45.                                         if(curImgIndex == 0){
  46.                                                 typeof(dataObj.fastBack)=='function' ? dataObj.fastBack() : alert('on fast');
  47.                                         }else{
  48.                                                 this.src = dataObj.imgAry[--curImgIndex];
  49.                                         }
  50.                                 }else{
  51.                                         if(curImgIndex == (imgSize-1)){
  52.                                                 typeof(dataObj.lastBack)=='function' ? dataObj.lastBack() : alert('on last');
  53.                                         }else{
  54.                                                 this.src = dataObj.imgAry[++curImgIndex];
  55.                                         }
  56.                                 }
  57.                         });
  58.                 }
  59.         });
  60. })(jQuery);
复制代码

详细调用实例子请看: http://www.myquickphp.com/archives/102
效果请看: http://www.myquickphp.com/code/showimg/
下载请看: http://www.myquickphp.com/download

作者: bzby555   发布时间: 2010-08-06

效果不错  收下

作者: sheak   发布时间: 2010-08-10

效果不错  收下

作者: sheak   发布时间: 2010-08-10

相关阅读 更多

热门下载

更多