html图片自动消失代码,自己用jQuery写了一个图片的马赛克消失效果

其中的一个效果:

1ef2b8f4bfaf91301bce3b00ff7b2acf.gif 

html代码:

单击图片,产生效果

插件代码:

; (function ($) {

var defaults = {

ani: 4, //动画效果.1.马赛克向中间聚拢,2.马赛克左上角聚拢,3.马赛克拉扯消失,4.原地缩小

delay: 3000, //动画执行时间

url:"0",//图片路径

count: [20, 20]//马赛克水平数量,竖直方向数量;数量不能过多,否则计算量太大,计算机执行不了,导致浏览器卡死

}

$.fn.gysMaSaiKe = function (opt) {

opt = $.extend({}, defaults, opt);

if(opt.url=="0"){alert("没有填写图片路径参数");return;}

var obj = $(this);

if (obj.css("position") == "static") obj.css({ "position": "relative" });

obj.css("overflow","hidden");

var objWidth = obj.width();

var objHeight = obj.height();

(function (count,url, obj) {

var littleBoxWidth = Math.floor(objWidth / count[0]);

var littleBoxHeight = Math.floor(objHeight / count[1]);

var html = "";

var littleBoxLeft = littleBoxWidth * (-1), littleBoxTop = littleBoxHeight * (-1);

for (var i = 0; i < count[1]; i++) {//行

littleBoxTop += littleBoxHeight;

for (var j = 0; j < count[0]; j++) {//每一行中的单个span

littleBoxLeft += littleBoxWidth;

html += "";

}

littleBoxLeft = littleBoxWidth * (-1);

}

obj.html(html);

})(opt.count,opt.url,obj);

var animation = function (ani, delay, objs) {

var res = function () { }

if (ani == 1) {//马赛克向中间聚拢

res = function () {

objs.animate({ top: objHeight / 2, left: objWidth / 2, opacity: 0 }, delay);

setTimeout(function(){obj.html("");},delay);

}

}

else if (ani == 2) {//碎片向左上角聚拢消失

res = function () {

objs.animate({ left: 0, top: 0, opacity: 0 }, delay); setTimeout(function () { obj.html(""); }, delay);

}

}

else if (ani == 3) {//拉扯消失

res = function () {

objs.filter(":even").animate({top:-100,left:-100},delay);

objs.filter(":odd").animate({ top: -100, left:900}, delay); setTimeout(function(){obj.html("");},delay);

}

}

else if (ani == 4) {//

res = function () { objs.animate({ height: 0, width: 0 }, delay);setTimeout(function(){obj.html("");},delay); }

}

else {

res = function () { objs.animate({ height: 0, width: 0 }, delay);setTimeout(function(){obj.html("");},delay); }

}

return res;

} (opt.ani, opt.delay, obj.children());

obj.on("click", "span", animation);

}

})(jQuery);

css代码:

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

插件的调用:

$(function () {

$(".box").gysMaSaiKe({

count: [10, 15], //马赛克水平数量,竖直方向数量;数量不能过多,否则计算量太大,计算机执行不了,导致浏览器卡死

ani: 4, //动画效果.1.马赛克向中间聚拢,2.马赛克左上角聚拢,3.马赛克拉扯消失,4.原地缩小

delay: 5000, //动画执行时间

url: "1.jpg" //图片路径

});

});

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值