一、CSS-DOM 操作 获取和设置元素的样式属性: css() 获取和设置元素透明度: opacity 属性(css 的一个属性) 获取和设置元素高度, 宽度: height(), width(). 在设置值时, 若只传递数字, 则默认单位是 px. 如需要使用其他单位则需传递一个字符串, 例如 $(“p:first”).height(“2em”); 获取元素在当前视窗中的相对位移: offset(). 其返回对象包含了两个属性: top, left. 该方法只对可见元素有效 二、jQuery 中的事件 -- 加载 DOM 在页面加载完毕后, 浏览器会通过 JavaScript 为 DOM 元素添加事件. 在常规的 JavaScript 代码中, 通常使用 window.onload 方法, 在 jQuery 中使用$(document).ready() 方法.
三、事件绑定 - <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
- <html>
- <head>
- <title>demo05.html</title>
-
- <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
- <meta http-equiv="description" content="this is my page">
- <meta http-equiv="content-type" content="text/html; charset=UTF-8">
-
-
-
- <script type="text/javascript" src="../js/jquery-1.9.1.js"></script>
-
- <script type="text/javascript">
- $(document).ready(function(){
- $("#content").hide();
-
- $("#hd").bind("click",function(){
- if($("#content").is(":hidden")){
- $("#content").show("slow");
- }else{
- $("#content").hide();
- }
-
- //$("#content").toggle();
-
- });
-
- /* $("#hd").hover(function(){
- $("#content").show("slow");
- },function(){
- $("#content").hide();
- }); */
-
-
- /* $("#hd").hide();
- $("#hd").toggle(function(){
- $("#content").show("slow");
- },function(){
- $("#content").hide();
- }); */
-
- /* $("#hi").bind("click",function(){
- alert("傻瓜");
-
- return false;
- }); */
-
- });
-
- </script>
-
- </head>
-
- <body>
- <div id="panl">
- <h5 id="hd" style="height: 30px; width: 160px; background-color: fuchsia;" >什么是jQuery?</h5>
- </div>
- <div id="content">
- Jquery是继prototype之后又一个优秀的Javascrīpt框架。它是轻量级的js库(压缩后只有21k)
- ,它兼容CSS3,还兼容各种浏览器 (IE 6.0+, FF 1.5+, Safari 2.0+, Opera
- 9.0+)。jQuery使用户能更方便地处理HTML
- documents、events、实现动画效果,并且方便地为网站提供AJAX交互。jQuery还有一个比较大的优势是,它的文档说明很全,而且各种应用也说得很详细,同时还有许多成熟的插件可供选择。jQuery能够使用户的html页保持代码和html内容分离,也就是说,不用再在html里面插入一堆js来调用命令了,只需定义id即可。
-
-
- </div>
-
-
- <div>
- <a href="#" id="hi" style="height: 30px; width: 160px; background-color: fuchsia;">hello</a>
- </div>
-
- </body>
- </html>
- <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
- <html>
- <head>
- <title>demo05.html</title>
-
- <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
- <meta http-equiv="description" content="this is my page">
- <meta http-equiv="content-type" content="text/html; charset=UTF-8">
-
-
-
- <script type="text/javascript" src="../js/jquery-1.9.1.js"></script>
-
- <script type="text/javascript">
- $(document).ready(function(){
- $("#content").hide();
-
- $("#hd").bind("click",function(){
- if($("#content").is(":hidden")){
- $("#content").show("slow");
- }else{
- $("#content").hide();
- }
-
- //$("#content").toggle();
-
- });
-
- /* $("#hd").hover(function(){
- $("#content").show("slow");
- },function(){
- $("#content").hide();
- }); */
-
-
- /* $("#hd").hide();
- $("#hd").toggle(function(){
- $("#content").show("slow");
- },function(){
- $("#content").hide();
- }); */
-
- /* $("#hi").bind("click",function(){
- alert("傻瓜");
-
- return false;
- }); */
-
- });
-
- </script>
-
- </head>
-
- <body>
- <div id="panl">
- <h5 id="hd" style="height: 30px; width: 160px; background-color: fuchsia;" >什么是jQuery?</h5>
- </div>
- <div id="content">
- Jquery是继prototype之后又一个优秀的Javascrīpt框架。它是轻量级的js库(压缩后只有21k)
- ,它兼容CSS3,还兼容各种浏览器 (IE 6.0+, FF 1.5+, Safari 2.0+, Opera
- 9.0+)。jQuery使用户能更方便地处理HTML
- documents、events、实现动画效果,并且方便地为网站提供AJAX交互。jQuery还有一个比较大的优势是,它的文档说明很全,而且各种应用也说得很详细,同时还有许多成熟的插件可供选择。jQuery能够使用户的html页保持代码和html内容分离,也就是说,不用再在html里面插入一堆js来调用命令了,只需定义id即可。
-
-
- </div>
-
-
- <div>
- <a href="#" id="hi" style="height: 30px; width: 160px; background-color: fuchsia;">hello</a>
- </div>
-
- </body>
- </html>
四、合成事件 hover(): 模拟光标悬停事件. 当光标移动到元素上时, 会触发指定的第一个函数, 当光标移出这个元素时, 会触发指定的第二个函数. toggle(): 用于模拟鼠标连续单击事件. 第一次单击元素, 触发指定的第一个函数, 当再一次单击同一个元素时, 则触发指定的第二个函数, 如果有更多个函数, 则依次触发, 直到最后一个. toggle() 的另一个作用: 切换元素的可见状态.
五、事件冒泡 事件会按照 DOM 层次结构像水泡一样不断向上只止顶端 解决: 在事件处理函数中返回 false, 会对事件停止冒泡. 还可以停止元素的默认行为.
六、事件对象的属性 事件对象: 当触发事件时, 事件对象就被创建了. 在程序中使用事件只需要为函数添加一个参数. 该事件对象只有事件处理函数才能访问到. 事件处理函数执行完毕后, 事件对象就被销毁了. event.pageX, event.pageY: 获取到光标相对于页面的 x, y 坐标.
七、移除事件 移除某按钮上的所有 click 事件: $(“btn”).unbind(“click”) 移除某按钮上的所有事件: $(“btn”).unbind(); one(): 该方法可以为元素绑定处理函数. 当处理函数触发一次后, 立即被删除. 即在每个对象上, 事件处理函数只会被执行一次.
八、jQuery 中的动画: 隐藏和显示 hide(): 在 HTML 文档中, 为一个元素调用 hide() 方法会将该元素的 display 样式改为 none. 代码功能同 css(“display”, “none”); show(): 将元素的 display 样式改为先前的显示状态. 以上两个方法在不带任何参数的情况下, 作用是立即隐藏或显示匹配的元素, 不会有任何动画. 可以通过制定速度参数使元素动起来. 以上两个方法会同时减少(增大)内容的高度, 宽度和不透明度.
fadeIn(), fadeOut(): 只改变元素的透明度. fadeOut() 会在指定的一段时间内降低元素的不透明度, 直到元素完全消失. fadeIn() 则相反. slideDown(), slideUp(): 只会改变元素的高度. 如果一个元素的 display 属性为 none, 当调用 slideDown() 方法时, 这个元素将由上至下延伸显示. slideUp() 方法正好相反, 元素由下至上缩短隐藏.
toggle(): 切换元素的可见状态: 如果元素时可见的, 则切换为隐藏; 如果元素时隐藏的, 则切换为可见的. slideToggle(): 通过高度变化来切换匹配元素的可见性. fadeTo(): 把不透明度以渐近的方式调整到指定的值(0 – 1 之间). 直接在ready中调用其他方法,会提示缺少对象的错误,解决方法如下: 方法1.应用jQuery的扩展可以解决这个问题。
$(document).ready(function(){ $.extend({ show:function(){ alert("ready"); } }); setInterval("show()",3000); });
方法2.指定定时执行的函数时不要使用引号和括号。
$(function(){ function show(){ alert("ready"); } setInterval(show,3000);// 注意函数名没有引号和括弧!
// 使用setInterval("show()",3000);会报“缺少对象” });
区别: setTimeout() 从载入后延迟指定的时间去执行一个表达式或者是函数; 仅执行一次 ;和window.clearTimeout一起使用. setInterval() 在执行时,它从载入页面后每隔指定的时间执行 一个表达式或者是函数;(功能类似于递归函数);和window.clearInterval一起使用. 补充说明: 这两个方法都可以用来实现在一个固定 时间段之后去执行JavaScript。不过两者各有各的应用场景。 方 法 实际上,setTimeout和 setInterval的语法相同。它们都有两个参数,一个是将要执行的代码字符串,还有一个是 以毫秒为单位的时间间隔,当过了那个时间段之后就将执行那段代码。 不过这两个函数还是有区别的, setInterval在执行完一次代码之后,经过了那个固定的时间间隔,它还会自动重复执行代 码,而setTimeout只执行一次那段代码。 虽然表面上看来setTimeout只能应用在on-off方式的动作上,不过可以通 过创建一个函数循环重复调用setTimeout,以实现重复的操作: showTime(); function showTime() { var today = new Date(); alert("The time is: " + today.toString ()); setTimeout("showTime()", 5000); } 一旦调 用了这个函数,那么就会每隔5秒钟就显示一次时间。如果使用setInterval,则相应的代 码如下所示: setInterval ("showTime()", 5000); function showTime() { var today = new Date(); alert("The time is: " + today.toString ()); }//jquery教程:http://www./wzjs/jquery/ 这两种方法可能看起来非常像,而且显 示的结果也会很相似,不过两者的最大区别就是,setTimeout方法不会每隔5秒钟就执行一 次showTime函数,它是在每次调用setTimeout后过5秒钟再去执行showTime函数。这意味着 如果showTime函数的主体部分需要2秒钟执行完,那么整个函数则要每7秒钟才执行一次。 而setInterval却没有被自己所调用的函数所束缚,它只是简单地每隔一定时间就重复执行 一次那个函数。 如果要求在 每隔一个固定的时间间隔后就精确地执行某动作,那么最好使用setInterval,而如果不想 由于连续调用产生互相干扰的问题,尤其是每次函数的调用需要繁重的计算以及很长的处 理时间,那么最好使用setTimeout。
|