作家
登录

jQuery 学习6 操纵元素显示效果的函数

作者: 来源:www.28hudong.com 2013-03-30 01:53:08 阅读 我要评论

复制代码 代码如下: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html> <head> <title>Collapsible List — Take 1</title> <link rel="stylesheet" type="text/css" href="../common.css"> <script type="text/javascript" src="../scripts/jquery-1.2.1.js"></script> <script type="text/javascript"> $(function(){ $('li:has(ul)') .click(function(event){ if (this == event.target) { if ($(this).children().is(':hidden')) { $(this) .css('list-style-image','url(minus.gif)') .children().show(); } else { $(this) .css('list-style-image','url(plus.gif)') .children().hide(); } } return false; }) .css('cursor','pointer') .click(); $('li:not(:has(ul))').css({ cursor: 'default', 'list-style-image':'none' }); }); </script> <style> fieldset { width: 320px } </style> </head> <body> <fieldset> <legend>Collapsible List — Take 1</legend> <ul> <li>Item 1</li> <li>Item 2</li> <li> Item 3 <ul> <li>Item 3.1</li> <li> Item 3.2 <ul> <li>Item 3.2.1</li> <li>Item 3.2.2</li> <li>Item 3.2.3</li> </ul> </li> <li>Item 3.3</li> </ul> </li> <li> Item 4 <ul> <li>Item 4.1</li> <li> Item 4.2 <ul> <li>Item 4.2.1</li> <li>Item 4.2.2</li> </ul> </li> </ul> </li> <li>Item 5</li> </ul> </fieldset> </body> </html> 上面实现列表的折叠已经很简单了,但jQuery提供了一个切换元素状态的函数toggle()。将上面红色字体的代码改为下面的代码,同样可以实现上述功能: $(this).children().toggle(); $(this).css('list-style-image', ($(this).children().is(':hidden')) ? 'url(plus.gif)' : 'url(minus.gif)'); } 以上三个函数show()、hide()、toggle()在带参数的情况下可以实现元素逐渐的显示和隐藏 hide(speed,callback) show(speed,callback) toggle(speed,callback) speed:可为数字或字符串,把效果的持续时间(可选)指定为毫秒数或预定义的字符串之一:slow、normal或fast。如果省略,就不产生动画并立即在显示屏上显示元素。 callback:回调函数(可选),在动画完成时调用。没有参数传递给这个函数,但函数上下文(this)被设置为以动画隐藏的元素。 动画效果的可折叠列表 复制代码 代码如下: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html> <head> <title>Collapsible List — Take 3</title> <link rel="stylesheet" type="text/css" href="../common.css"> <script type="text/javascript" src="../scripts/jquery-1.2.1.js"></script> <script type="text/javascript"> $(function(){ $('li:has(ul)') .click(function(event){ if (this == event.target) { $(this).css('list-style-image', (!$(this).children().is(':hidden')) ? 'url(plus.gif)' : 'url(minus.gif)'); $(this).children().toggle('slow'); } return false; }) .css({cursor:'pointer', 'list-style-image':'url(plus.gif)'}) .children().hide(); $('li:not(:has(ul))').css({ cursor: 'default', 'list-style-image':'none' }); }); </script> <style> fieldset { width: 320px } </style> </head> <body> <fieldset> <legend>Collapsible List — Take 3</legend> <ul> <li>Item 1</li> <li>Item 2</li> <li> Item 3 <ul> <li>Item 3.1</li> <li> Item 3.2 <ul> <li>Item 3.2.1</li> <li>Item 3.2.2</li> <li>Item 3.2.3</li> </ul> </li> <li>Item 3.3</li> </ul> </li> <li> Item 4 <ul> <li>Item 4.1</li> <li> Item 4.2 <ul> <li>Item 4.2.1</li> <li>Item 4.2.2</li> </ul> </li> </ul> </li> <li>Item 5</li> </ul> </fieldset> </body> </html>

  推荐阅读

  JavaScript Event学习第五章 高级事件注册模型

W3C和微软都着力于发展自己的事件注册模型来取代Netscape的传统模型。虽然对于微软的模型我不是很感冒,但是w3c的还是不错的,除了这个鼠标定位 的问题。不过现在只有小部分浏览器支持。 W3C W3C的DOM层面事件规范>>>详细阅读


本文标题:jQuery 学习6 操纵元素显示效果的函数

地址:http://www.17bianji.com/kaifa2/JS/27107.html

关键词: 探索发现

乐购科技部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与乐购科技进行文章共享合作。

网友点评
自媒体专栏

评论

热度

精彩导读
栏目ID=71的表不存在(操作类型=0)