***********请求帮助[SOS]************

huangwenquan123 2010-12-21 10:24:17
很少来js版块逛,来了次发现这里好多大牛,看他们写法手段,在对照自己,自残形愧
这里向大家请教个问题
一般jquery插件我都这样写

(function($){
$.fn.face=function(options)
{
var defaults = {
"ID":"content"
};
options = $.extend(defaults,options);
$(this).click(function(e){
//每次我都把那些事件都写在里面,长的话就一大堆,可读性不怎么好,该怎么改呢
//一般大家都砸写的呢?
//....
$("#maindiv li").mouseover(function(e){
//....
());
}).bind("click",function(event){
//....
})
})
}
})(jQuery);
...全文
149 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
tian_he_wang 2010-12-22
  • 打赏
  • 举报
回复
其实你写的也没什么大问题,只要相同的功能就可以写在同一个处理事件里,至于要如何合理的利用jquery,这个就要按照实际情况和自身的习惯来衡量。任何东西都要用的其所
猿敲月下码 2010-12-22
  • 打赏
  • 举报
回复
关键是你这些事件是固定死的还是可变的

如果是固定死的可以放在另外一个文件里面

如果是活的,可以把函数句柄放在options里面让用户设置,然后在内部赋值
fxs_2008 2010-12-22
  • 打赏
  • 举报
回复
还是要理解函数机制才能灵活处理啊
xf_taoran 2010-12-21
  • 打赏
  • 举报
回复
kagetu_toki 2010-12-21
  • 打赏
  • 举报
回复
不過我自己一般都這樣寫



(function ($) {
$.a = {
fna: function (p) {
},
fnb:function(pa,pb){
}
};
$.extend($.a);
})(jQuery);

調用的時候可以通過 $.a.fna(p);或者$.a.fnb(a,b);的形式調用 相應函數
kagetu_toki 2010-12-21
  • 打赏
  • 举报
回复
一般插件的三種寫法實例,在網上收集到的
同樣都是實現鼠標經過表格行時高亮,可參考下



//实现鼠标经过表格行时高亮,调用方法为:$.handleTableUI("table_content_list");
; (function ($) {
$.extend({
handleTableUI: function (table) {
var thisTable = $("#" + table);

$(thisTable).find("tr").bind("mouseover", function () {
$(this).css({ color: "#ff0011", background: "blue" });
});
$(thisTable).find("tr").bind("mouseout", function () {
$(this).css({ color: "#000000", background: "white" });
});
}
});
})(jQuery);

//实现鼠标经过表格行时高亮,调用方法为:$("#table_content_list").setTableUI();
; (function ($) {
$.fn.setTableUI = function (options) {
var defaults = {
evenRowClass: "evenRow",
oddRowClass: "oddRow",
activeRowClass: "activeRow"
}
var options = $.extend(defaults, options);
this.each(function () {
var thisTable = $(this);
$(thisTable).find("tr").bind("mouseover", function () {
$(this).css({ color: "#ff0011", background: "blue" });
});
$(thisTable).find("tr").bind("mouseout", function () {
$(this).css({ color: "#000000", background: "white" });
});
});
};
})(jQuery);
//实现鼠标经过表格行时高亮,该方法自行调用
; (function ($) {
$.tableUI = { set: function () {
var thisTable = $("table");
$(thisTable).find("tr").bind("mouseover", function () {
$(this).css({ color: "#ff0011", background: "blue" });
});
$(thisTable).find("tr").bind("mouseout", function () {
$(this).css({ color: "#000000", background: "white" });
});
}
};
//此处进行自调用
$(function () {
$.tableUI.set();
});
})(jQuery);
86y 2010-12-21
  • 打赏
  • 举报
回复
我也很少用JQ,直接去网上找。顺便可以提高自己的JS!
子夜__ 2010-12-21
  • 打赏
  • 举报
回复
上海程序员3 2010-12-21
  • 打赏
  • 举报
回复
一般我是反对用jquery的,要什么功能网上去找不就行了,你用jquery,要找代码还是得加jq
在老人端,我们通过以下功能来完善系统。 *蓝色欢迎界面 *注册账号(输入两次密码不相同,提示密码输入不一致,手机号只限制输入数字,不允许其他字符输入)注册成功后立即跳转至老人端主界面 *登入账号(需要用户名和密码) *一键求助(只需要事先在个人资料中设置相关信息,然后点击一键求助按钮就能立即发布求助。适合操作能力不强、行动不方便的老人) *定制求助(有操作能力的老人可以根据不同时刻老人的不同需求在特定求助里填写描述具体时间然后传消息给服务器发布求助事件) *当前进度(点击可以查看老人当前求助事件的进度状态,查看后的状态分为三种:求助事件正在等待志愿者应答,志愿者正在帮助中,求助事件已完成请评价。老人评价之后确认可以提交老人的星级评价信息给服务器。) *记录(点击可以查看相关历史记录,历史记录里记录几几年几月几日什么时候,老人发布了一键求助或是特定求助,或是在什么时候老人查看了当前进度为什么状态,记录了一些可以浏览的历史状态和信息) *设置(5个子功能) (1)个人资料(设置头像,选择性别,填写姓名、当前地址,自动获取当前定位,可以选择历史定位点,联系电话、默认支付糖豆数,病史等备注信息) (2)修改密码(输入旧密码,两次输入新密码,进行修改密码) (3)钱包(糖豆转化,糖豆账户余额) (4)跌倒报警(设置紧急联系人电话,短信模板保存后开启跌倒报警功能,获取手机参数在老人可能跌倒时震动并响铃,若一段时间内老人没有按下确认按钮,就会向服务器发送SOS请求帮助,同时向紧急联系人发送短信。) (5)退出登入

87,907

社区成员

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

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