js插件
来源:互联网 发布:360软件认证平台 编辑:程序博客网 时间:2024/06/05 13:22
js插件:
插件定义:
(function($){
//定义在属性中
$.fn.hs=function(cs){
webUrl//插件前面的全局变量可以在插件中直接用
// 默认值
var defaults = {
'isShow' : 'none',
'viewSort' : '.viewSort1'
}
// 用options拓展默认选项,defaults中同名对象的值,会被options的值覆盖,保险防止参数空值
var settings = $.extend({}, defaults, cs);//json
}
//定义全局方法
$.hs2=function(cs){
}
})(jQuery)
插件应用:
var webUrl = "${pageContext.request.contextPath}";
$.getScript('插件地址',function(){
$("jquery对象").hs();//或者直接全局方法$.hs2();
});
=================================示例========================================
<script type="text/javascript">
$.getScript("${pageContext.request.contextPath}/resources/plugins/cust/jquery.tbBasOptTemp.js", function(){
var isShow;
$("select.viewSort").on('change', function() {
if($("select.viewSort").val()=='A'){
isShow='none';
}else{
isShow='block';
}
$("select.viewSort").tbBasOptTemp({
'isShow' : isShow,
'viewSort':'.viewSort1'
});
});
});
</script>
jquery.tbBasOptTemp.js
(function($) {
/* 在这里封装所有的jQuery插件 */
$.fn.tbBasOptTemp = function(options) {
// 默认值
var defaults = {
'isShow' : 'none',
'viewSort' : '.viewSort1'
}
// 用options拓展默认选项,defaults中同名对象的值,会被options的值覆盖
var settings = $.extend({}, defaults, options);
$(settings.viewSort).attr("style","display:"+settings.isShow+";");
$(settings.viewSort).attr("style");
return this;
};
})(jQuery);
<script type="text/javascript">
var webUrl = "${pageContext.request.contextPath}";
var warekindname = [];
var warekindkey = [];
var spsxKey = $("input.class_spsxKey").val();
<c:forEach var="item_dataType" items="${tbBasBedSrtVo}"varStatus="s">
warekindname.push("${item_dataType.getWarekind_name()}");
warekindkey.push("${item_dataType.getWarekind_key()}");
</c:forEach>
$.getScript("${pageContext.request.contextPath}/resources/plugins/cust/jquery.tbBasSpsx.js",function() {
$("select.class_warekindKey").on('change',function() {
$("select.class_warekindKey").tbBasSpsx(
{
'warekindKey' : $("select.class_warekindKey").val(),
'webUrl' : webUrl,
'spsxKey' : spsxKey,
'warehtml' : '.class_item_ware'
});
});
});
</script>
jquery.tbBasSpsx.js
(function($) {
/* 在这里封装对应的jQuery插件 */
$.fn.tbBasSpsx = function(options) {
// 默认值
var defaults = {
'warekindKey' : '1',
'webUrl' : '',
'spsxKey' : '106',
'warehtml' : '#item_ware'
}
// 用options拓展默认选项,defaults中同名对象的值,会被options的值覆盖
var settings = $.extend({}, defaults, options);
var url = settings.webUrl + "/system/tbBasSpsx/tbBasBedSrtListHtml?warekindKey="
+ settings.warekindKey + "&spsxKey=" + settings.spsxKey;
$.get(url, function(data) {
$(settings.warehtml).html(data);
});
p1[0]=1;
return this;
};
})(jQuery);
===============
js的引用
var webUrl = "${pageContext.request.contextPath}";
$.getScript("${pageContext.request.contextPath}/resources/js/chat/jquery.timer.js",
function() {
$.getScript("${pageContext.request.contextPath}/resources/js/chat/jquery.chat.offer.js",
function() {$.getScript("${pageContext.request.contextPath}/resources/js/chat/jquery.form.js",
function() {
$(".btnhr30").on('click',
function() {
checkCanBuy();
});
/* 每6秒取一次数据 */
timerChatRecord = $.timer(2000,
function() {
var r = $(".class_RedFont");
//alert(r.attr("id") );
checkList(r.attr("id"));
checkChatRecord(0);
});
$(".class_customerNameSet").on('click',
function(){
switchCustomer(this);
}
);
$(".class_customerNameSet").eq(0).click();
checkChatRecord(1);
});
});
});
</script>
jquery.timer.js
//直接写常规方法,这个不叫插件,叫js的引用方式
function switchCustomer(obj) {
$(".class_customerNameSet").removeClass("class_RedFont");
$(obj).addClass("class_RedFont");
$(".class_tradeCustomerKey").val($(".class_RedFont span").html());
checkChatRecord(1);
}