其中的一个效果:

html代码:

  1. <h1>单击图片,产生效果</h1>
  2. <div class="box"></div>

插件代码:

  1. ; (function ($) {
  2. var defaults = {
  3. ani: 4, //动画效果.1.马赛克向中间聚拢,2.马赛克左上角聚拢,3.马赛克拉扯消失,4.原地缩小
  4. delay: 3000, //动画执行时间
  5. url:"0",//图片路径
  6. count: [20, 20]//马赛克水平数量,竖直方向数量;数量不能过多,否则计算量太大,计算机执行不了,导致浏览器卡死
  7. }
  8. $.fn.gysMaSaiKe = function (opt) {
  9. opt = $.extend({}, defaults, opt);
  10. if(opt.url=="0"){alert("没有填写图片路径参数");return;}
  11. var obj = $(this);
  12. if (obj.css("position") == "static") obj.css({ "position": "relative" });
  13. obj.css("overflow","hidden");
  14. var objWidth = obj.width();
  15. var objHeight = obj.height();
  16. (function (count,url, obj) {
  17. var littleBoxWidth = Math.floor(objWidth / count[0]);
  18. var littleBoxHeight = Math.floor(objHeight / count[1]);
  19. var html = "";
  20. var littleBoxLeft = littleBoxWidth * (-1), littleBoxTop = littleBoxHeight * (-1);
  21.  
  22. for (var i = 0; i < count[1]; i++) {//行
  23. littleBoxTop += littleBoxHeight;
  24. for (var j = 0; j < count[0]; j++) {//每一行中的单个span
  25. littleBoxLeft += littleBoxWidth;
  26. html += "<span style='display:block;position:absolute;left:" + littleBoxLeft + "px;top:" + littleBoxTop + "px;width:" + littleBoxWidth + "px; height:" + littleBoxHeight + "px; background-image:url("+url+");background-position:" + (littleBoxLeft) * (-1) + "px " + (littleBoxTop) * (-1) + "px;'></span>";
  27. }
  28. littleBoxLeft = littleBoxWidth * (-1);
  29. }
  30. obj.html(html);
  31. })(opt.count,opt.url,obj);
  32.  
  33. var animation = function (ani, delay, objs) {
  34. var res = function () { }
  35. if (ani == 1) {//马赛克向中间聚拢
  36. res = function () {
  37. objs.animate({ top: objHeight / 2, left: objWidth / 2, opacity: 0 }, delay);
  38. setTimeout(function(){obj.html("");},delay);
  39. }
  40. }
  41. else if (ani == 2) {//碎片向左上角聚拢消失
  42. res = function () {
  43. objs.animate({ left: 0, top: 0, opacity: 0 }, delay); setTimeout(function () { obj.html(""); }, delay);
  44. }
  45. }
  46. else if (ani == 3) {//拉扯消失
  47. res = function () {
  48. objs.filter(":even").animate({top:-100,left:-100},delay);
  49. objs.filter(":odd").animate({ top: -100, left:900}, delay); setTimeout(function(){obj.html("");},delay);
  50. }
  51. }
  52. else if (ani == 4) {//
  53. res = function () { objs.animate({ height: 0, width: 0 }, delay);setTimeout(function(){obj.html("");},delay); }
  54. }
  55. else {
  56. res = function () { objs.animate({ height: 0, width: 0 }, delay);setTimeout(function(){obj.html("");},delay); }
  57. }
  58. return res;
  59. } (opt.ani, opt.delay, obj.children());
  60.  
  61. obj.on("click", "span", animation);
  62. }
  63. })(jQuery);

css代码:

  1. .box { width: 1000px; height:600px;}

插件的调用:

  1. $(function () {
  2. $(".box").gysMaSaiKe({
  3. count: [10, 15], //马赛克水平数量,竖直方向数量;数量不能过多,否则计算量太大,计算机执行不了,导致浏览器卡死
  4. ani: 4, //动画效果.1.马赛克向中间聚拢,2.马赛克左上角聚拢,3.马赛克拉扯消失,4.原地缩小
  5. delay: 5000, //动画执行时间
  6. url: "1.jpg" //图片路径
  7. });
  8. });

自己写了一个图片的马赛克消失效果(jQuery)的更多相关文章

  1. 使用PHP写了一个图片分割等份工具,便于前台页面切图时使用。

    目的: 由于网站更新活动较频繁,其大多数以静态图片为主,设计人员在除了设计图后都要给前端制作人员再次切图从而达到页面加载图片缓慢的问题,为了减少工作量做了该工具. 功能: 上传一张图,将其分割成指定等 ...

  2. JS写四个图片滚动显示的效果

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  3. jQuery 写的插件图片上下切换幻灯效果

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  4. 学习写了一个点击按钮倒计时的jquery小插件

    (function($) { $.fn.extend({ getSms: function(value) { value = $.extend({ wait: 60, //参数, 默认60秒 }, v ...

  5. Android View部分消失效果实现

    本文来自网易云社区 作者:孙有军 老需求 我们经常会有需求就是View消失的效果,这里我们说的消失往往是全部消失,我们可能采用一个alpha动画,在指定的时间内消失掉View,出现则实现相反的动画.我 ...

  6. javascript 单个图片的淡入淡出效果和多张图片的淡入淡出效果

    最近刚好在看之前妙趣网站的javascript 初级运动教程,教程里说设置图片的透明度使用了一个变量.这种方法确实不错,但是燕姐喜欢麻烦.就用自己的理解方法写了一遍.其中也是各种坑.现在先把一个图片的 ...

  7. 用 EPWA 写一个 图片播放器 PicturePlayer

    用 EPWA 写一个 图片播放器  PicturePlayer  . 有关 EPWA,见 <我发起并创立了一个 EPWA 的 开源项目>   https://www.cnblogs.com ...

  8. [jQuery插件]手写一个图片懒加载实现

    教你做图片懒加载插件 那一年 那一年,我还年轻 刚接手一个ASP.NET MVC 的 web 项目, (C#/jQuery/Bootstrap) 并没有做 web 的经验,没有预留学习时间, (作为项 ...

  9. javascript小记五则:用JS写一个图片左右自由滚动的“跑马灯”效果

    之前看了很多百度搜索出的东西,十个有九个是不能实用的,个个讲的都不详细,今天详细给大家讲解下关于这个图片“跑马灯”滚动效果,源码如下: <!DOCTYPE html PUBLIC "- ...

随机推荐

  1. 通过FISH和下一代测序检测肺腺癌ALK基因融合比较

    ALK FISH探针是FDA批准的用于检测肺癌患者中ALK重排的方法,这些患者可能受益于ALK激酶抑制剂.FISH测定在技术上可能具有挑战性并且难以解释.已经有研究者提出以ALK免疫组织化学和下一代测 ...

  2. hdu 1498 50 years, 50 colors 最小点覆盖

    50 years, 50 colors Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Othe ...

  3. Adapter Class/Object(适配器)

    意图: 将一个类的接口转换成客户希望的另外一个接口.Adapter 模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作. 适用性: 你想使用一个已经存在的类,而它的接口不符合你的需求. 你想 ...

  4. c++指向指针的指针与 c++指针作为函数参数传递问题

    一直搞不明白,c++中指针到底是个啥东西,今天遇到到c++,指向指针的指针的问题,突然有点开窍了. 举个例子: int main(int argc, char** argv){ int a[5]={1 ...

  5. 还是 js 替代 vw vh 了

    有个需求是要层叠两张图,就像你现在看到的:整个浏览器和html页面,内层图片要水平居中,等比例与源UI图适配不同设备 本来很简单的使用 vw vh了( 核心代码             top: 13 ...

  6. oracle: sql语句报ora-01461/ora-00911错误

    oracle: sql语句报ora-01461/ora-00911错误 ora-00911:sql语句中可能含有特殊字符,或者sql语句中不能用";"分号结尾. sql语句报ora ...

  7. ibatis.net 实现多数据库配置

    1.1  功能介绍 使用ibatis.net ORM框架时,有时候需要操作多个数据库,同时有时候也需要对连接数据库信息进行加密,本文通过将配置连接写到Web.config中, 这样就可以在Web.co ...

  8. .Net Core中使用UEditor

    一.下载解压UEditor的.net版本(这个直接使用的话是asp.net的版本) 我下载的是这个 再给留上地址http://ueditor.baidu.com/website/download.ht ...

  9. 【转】ubuntu下修改文件夹权限

    常用方法如下: sudo chmod 600 ××× (只有所有者有读和写的权限)sudo chmod 644 ××× (所有者有读和写的权限,组用户只有读的权限)sudo chmod 700 ××× ...

  10. 在EORow或者VORow中对数据进行重复性校验

    需求:在设置付款条件时不允许账期+付款方式重复. 由于本次需求仅需要对VO缓存中的数据进行重复性校验,所以仅需进行缓存遍历即可,不需要校验数据库. 方式1,在EORow的进行数据校验. public ...