扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
几种书写格式,记录一下 //原始 $(document).ready(function(){ document.write("test1", "br/"); }); //缩写 $().ready(function(){ document.write("test2", "br/"); }); //缩写 $(function(){ document.write("test3", "br/"); }); //意义为在DOM加载完毕后执行了ready()方法 jQuery(function(){ document.write("test4", "br/"); }); //等价于 jQuery(document).ready(function(){ document.write("test5", "br/"); }); $(document).ready(function(){ (function(){ document.write("aaa", "br/"); })(jQuery); //立即执行函数;相当于先申明一个函数,声明完后直接调用; (function(){ document.write("bbb", "br/"); })(); (function(str){ document.write(str, "br/"); })("output"); //相当于: function OutPutFun(str){ document.write(str, "br/"); }; OutPutFun("output"); }); FunTest = (function(){ function f1(){ document.write("function1", "br/"); }; return ({ f2 : function(){ f1(); document.write("function2", "br/"); }, f3 : function(){ document.write("function3", "br/"); } }); })(); FunTest.f2(); FunTest.f3(); Person = { name : "zhangsan", age : 20, getName : function(){ document.write(this.name, "br/"); } }; Person.getName();
10余年的巴青网站建设经验,针对设计、前端、开发、售后、文案、推广等六对一服务,响应快,48小时及时工作处理。网络营销推广的优势是能够根据用户设备显示端的尺寸不同,自动调整巴青建站的显示方式,使网站能够适用不同显示终端,在浏览器中调整网站的宽度,无论在任何一种浏览器上浏览网站,都能展现优雅布局与设计,从而大程度地提升浏览体验。创新互联公司从事“巴青网站设计”,“巴青网站推广”以来,每个客户项目都认真落实执行。
怎样用jquery写一个事件,在点击
删除
时弹出一个对话框,选择是或否,如果选择是,就跳转到所选页面,选择否就返回。而且在弹出对话框没选择的时候,先不要跳转。
1、用confirm
if(confirm("确定要删除数据吗")){
}else{
}
2、用组件jBox(需要下载jquery.jBox-2.3.min.js,并引入)
$.jBox.confirm("您确定要删除此委托吗?",
"提示",
function(v,
h,
f)
{
if
(v
==
"ok")
{
}else{
}
});
1.
jQuery
的绑定事件是能够叠加的,比如对一个div
绑定的多次
blur
事件,在触发的时候
多个绑定在div
上的blur
事件都会执行;
$(
'#demo'
).bind(
'blur',
function(){
$(
'#demo'
).unbind(
'blur'
);
//
在执行完
blur
事件后解除绑定的事件或者在其他的地方解除绑定也行;
}
);
jquery插件开发模式
jquery插件一般有三种开发方式:
通过$.extend()来扩展jQuery
通过$.fn 向jQuery添加新的方法
通过$.widget()应用jQuery UI的部件工厂方式创建
第一种$.extend()相对简单,一般很少能够独立开发复杂插件,第三种是一种高级的开发模式,本文也不做介绍。第二种则是一般插件开发用到的方式,本文着重讲讲第二种。
插件开发
第二种插件开发方式一般是如下定义
$.fn.pluginName = function() {
//your code here
}
插件开发,我们一般运用面向对象的思维方式
例如定义一个对象
var Haorooms= function(el, opt) {
this.$element = el,
this.defaults = {
'color': 'red',
'fontSize': '12px',
'textDecoration':'none'
},
this.options = $.extend({}, this.defaults, opt)
}
//定义haorooms的方法
haorooms.prototype = {
changecss: function() {
return this.$element.css({
'color': this.options.color,
'fontSize': this.options.fontSize,
'textDecoration': this.options.textDecoration
});
}
}
$.extend({}, this.defaults, opt)有{}主要是为了创建一个新对象,保留对象的默认值。
$.fn.myPlugin = function(options) {
//创建haorooms的实体
var haorooms= new Haorooms(this, options);
//调用其方法
return Haorooms.changecss();
}
调用这个插件直接如下就可以
$(function() {
$('a').myPlugin({
'color': '#2C9929',
'fontSize': '20px'
});
})
上述开发方法的问题
上面的开发方法存在一个严重的问题,就是定义了一个全局的Haorooms,这样对于插件的兼容等等各个方面都不好。万一别的地方用到了Haorooms,那么你的代码就悲催了!现在我们把上面的代码包装起来,用一个自调用匿名函数(有时又叫块级作用域或者私有作用域)包裹,就不会出现这个问题了!包括js插件的开发,也是一样的,我们用一个自调用匿名函数把自己写的代码包裹起来,就可以了!包裹方法如下:
(function(){
})()
用上面的这个包裹起来,就可以了。
但是还有一个问题,当我们研究大牛的代码的时候,前面经常看到有“;”,那是为了避免代码合并等不必要的错误。
例如,我们随便定义一个函数:
var haoroomsblog=function(){
}
(function(){
})()
由于haoroomsblog这个函数后面没有加分号,导致代码出错,为了避免这类情况的发生,通常这么写!
;(function(){
})()
把你的插件代码包裹在上面里面,就是一个简单的插件了。(注js插件和jquery插件都是如此)
还有一个问题
把你的插件包裹在
;(function(){
})()
基本上可以说是完美了。但是为了让你开发的插件应用更加广泛,兼容性更加好,还要考虑到用插件的人的一些特殊的做法,例如,有些朋友为了避免jquery和zeptojs冲突,将jquery的前缀“$”,修改为“jQuery”,还有些朋友将默认的document等方法修改。为了让你的插件在这些东西修了了的情况下照常运行,那么我们的做法是,把代码包裹在如下里面:
;(function($,window,document,undefined){
//我们的代码。。
})(jQuery,window,document);
就可以避免上面的一些情况了!
至此,你开发的插件就算完美了!
你的代码是没有问题的,可能出现不对的原因有两个,
一个是没有加jquery库
另外一个就是你a元素里面有网址点击以后就跳转了
一下是已经测试好的代码
ul class="tab tab_y1"
a href="#"li广西北海/li/a
a href="#"li潮汕厦门/li/a
/ul
script src=""/script
script
$(function(){
$('ul.tab a li').click(function(){
$(this).addClass('on');
})
})
/script
需要准备的材料分别有:电脑、html编辑器、浏览器。
1、首先,打开html编辑器,新建html文件,例如:index.html,并引入jquery。
2、在index.html中的script标签,输入jquery代码:
for (var i = 2000; i = 2050; i++) {
if (i % 4 === 0 i % 100 !== 0) {
$('body').append(i + ' ');
}
}
3、浏览器运行index.html页面,此时用jquery的“或者”和“并且”打印了2000-2050年的所有闰年。
jQuery(function(){})、jQuery().ready(function(){})
绑定点击事件: jQuery('#temp').click(function() {});
筛选:jQuery('#temp [type="checkbox"]').prop('disabled',false); 这句话的作用就是将id为temp的对象下所有类型是复选框的子对象的禁用给解用。
其实jQuery确实很强大,有时间的话,你可以看看jQuery的帮助文档。
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流