如何使用jquery实现Ajax功能,用于发送Ajax请求的相关函数如load,get, getJSON和post这些渐变Ajax方法,对于核心的ajax 方法没有过多介绍,主要是通过配置复杂的参数实现完全控制Ajax请求。另外讲解了ajax的辅助函数比如用于序列化表单对象为字符串的serialize()方法,用于将表单对象序列化为JSON对象的serializeArray()方法。
这种方式的弊端是:
1. 只能为一个事件绑定一个事件处理函数,使用"="赋值会把前面为此时间绑定的所有事件处理函数冲掉。
2. 在事件函数(无论是匿名函数还是绑定的函数)中获取事件对象的方式在不同浏览器中要特殊处理:
IE中,事件对象是window对象的一个属性,事件处理函数必须这样访问事件对象:
obj.onclick=function() { var oEvent = window.event; }
在jQuery中没有包装操作"DOM属性"的函数, 因为使用javascript获取和设置"DOM属性"都很简单. 在jQuery提供了each()函数用于遍历jQuery包装集,其中的this指针是一个DOM对象,所以我们可以应用这一点配合原生JavaScript来操作元素的DOM属性:
编写任何JavaScript程序我们要首先获得对象,jQuery选择器能彻底改变我们平时获取对象的方式,可以获取几乎任何语意的对象,比如“拥有title属性并且值中包含test的<a>元素”,完成这些工作只需要编写一个jQuery选择器字符串, 学习jQuery选择器是学习jQuery最重要的一步
今天遇到个很诡异的问题,就是<a href="javascript:void(0);" onclick="window.location.href=url"></a>在IE6下面没反应,不跳转到onclik事件中的“window.location.href”。
当时我们在网上找了篇文章很快就解决了,但是文章中没有说明具体原因在哪里,只是说在“window.location.href”后面加一个"return false",当时马上建了个test.html,试了下确实可以,而且试了之后还发现IE6下是被href="javascript:void(0)"覆盖了,这问题看上去很简单,但是为什么其他浏览器没有被覆盖,但对原因到底在哪里还是一头雾水。
现在网站基本提供了这么一个功能: 当页面超过一屏时,从第二屏开始页面右边底部悬浮一个 top 提示,点击返回页面顶部。
效果图如下:
display:none和visibility:hidden
的区别
不同有三点:
- 空间占据
- 回流与渲染
- 株连性
优酷网 reset.css
@charset "utf-8"; /*element*/ html{direction:ltr;*overflow-y:scroll;} body{height:100%;background:#fff;} body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,form,fieldset,input,button,select,option,textarea,p,blockquote,th,td{padding:0;margin:0;font:12px/20px arial, helvetica, verdana, tahoma, sans-serif;word-break:break-all;word-wrap:break-word;} img{border:0;vertical-align:top;} ol,ul,dl{list-style:none;} h1{font:bold 16px/18px "microsoft yahei","微软雅黑";} h2{font-weight:bold;font-size:16px;} h3{font-weight:bold;font-size:14px;} h4{font-weight:bold;font-size:12px;} h5{font-weight:bold;font-size:12px;} h5{font-weight:bold;font-size:12px;} h6{font-weight:bold;font-size:12px;} a{cursor:pointer;color:#014ccc;text-decoration:none;} a:hover{text-decoration:underline;}
经验证,其实是IE6的list-style-position属性造成的,默认情况下,Firefox中list-style-position值为 outside,即列表项符号会在LI标签的外面显示。而IE6的默认值则相反(inside)。不过这还不是问题关键,IE6完全是属于占着茅坑不拉屎 的那种,即使你不显示列表项符号,即把list-style-type设置成none,它依然会保留列表项符号占用的空间。所以无论你给LI的设置 margin:0或者padding:0,你都会发现Li左边会多出16PX的空间。