关于jQuery插件的问题

zioc2014 2013-10-14 04:14:37
写一个输出 msg的插件:msg显示,几秒钟后消失。eg.“操作成功”。

插件执行步骤:
1. 输出 <div class="msg" style="display:none;">操作成功</div>
2. 运行 $msg.fadeIn()
3. 运行 setTimeout(function () { $msg.fadeOut() }, 2000);

问题:
1.不需要选择器(有renderTo参数),是不是应该用jQuery.extend(object)而不是jQuery.fn.extend(object)?如果用后者,怎么写?

2.假如输出代码是<div class="msg">操作成功</div>。如果允许同时出现多个msg,怎么选择到它们?用随机数生成不同的id(应该有更好的办法吧)?




...全文
126 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
引用 5 楼 LOVESONGFOREVER 的回复:
[quote=引用 1 楼 veryhunger 的回复:] $.extend({ showMsg: function() { $("<div class=\"msg\" style=\"display:none;\">操作成功</div>").appendTo('body'); }; var $msg = $('.msg'); $msg.fadeIn() setTimeout(function () { $msg.fadeOut() }, 2000); });
这个写法显示位置是?[/quote]
$.extend({
    showMsg: function() {
        $("<div class=\"msg\" style=\"display:none;\">操作成功</div>").appendTo('body');
    };
    var $msg = $('.msg');
     $.each(function(i, dom) {
         $msg.fadeIn()
         setTimeout(function () { $msg.fadeOut() }, 2000);
         alert(i);
     });
});
如果需要位置就这样
garfieldzf 2013-10-14
  • 打赏
  • 举报
回复
引用 1 楼 veryhunger 的回复:
$.extend({ showMsg: function() { $("<div class=\"msg\" style=\"display:none;\">操作成功</div>").appendTo('body'); }; var $msg = $('.msg'); $msg.fadeIn() setTimeout(function () { $msg.fadeOut() }, 2000); });
这个写法显示位置是?
萧萧可乐 2013-10-14
  • 打赏
  • 举报
回复

$.showMsg = function( str ) {
    var _msg = $("<div class=\"msg\" style=\"display:none;\">" + str + "</div>").appendTo('body');
    _msg .fadeIn()
    setTimeout(function () { _msg .fadeOut() }, 2000);
};
  • 打赏
  • 举报
回复
引用 2 楼 zioc2014 的回复:
[quote=引用 1 楼 veryhunger 的回复:] $.extend({ showMsg: function() { $("<div class=\"msg\" style=\"display:none;\">操作成功</div>").appendTo('body'); }; var $msg = $('.msg'); $msg.fadeIn() setTimeout(function () { $msg.fadeOut() }, 2000); });
如果同时出现多个呢,是不是就有问题了[/quote] 不会啊
zioc2014 2013-10-14
  • 打赏
  • 举报
回复
引用 1 楼 veryhunger 的回复:
$.extend({ showMsg: function() { $("<div class=\"msg\" style=\"display:none;\">操作成功</div>").appendTo('body'); }; var $msg = $('.msg'); $msg.fadeIn() setTimeout(function () { $msg.fadeOut() }, 2000); });
如果同时出现多个呢,是不是就有问题了
  • 打赏
  • 举报
回复
$.extend({ showMsg: function() { $("<div class=\"msg\" style=\"display:none;\">操作成功</div>").appendTo('body'); }; var $msg = $('.msg'); $msg.fadeIn() setTimeout(function () { $msg.fadeOut() }, 2000); });

87,907

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧