当前位置: 首页 > 图文教程 > 网络编程 > Javascript > jQuery 学习6 操纵元素显示效果的函数

Javascript
关于setEndPoint msdn给出的参考
一个不用onmouseup的拖动函数
实现163邮箱的图标功能
javascript 也来玩玩图片预加载
又一个小巧的图片预加载类
使用正则替换变量
JS统计Flash被网友点击过的代码
JS脚本混淆、加密讨论
通过Unicode转义序列来加密,按你说的可以算是混淆吧
javascript之ESC(第二类混淆)
另一种希望别人无法修改js的代码
javascript又一解密过程,推荐的,会这个基本上好多都能解决了
ESC之ESC.wsf可以实现javascript的代码压缩附使用方法
javascript支持区号输入的省市二级联动下拉菜单
一个不错的渐显菜单
javascript之水平横向滚动歌词同步的应用
javascript实现表现、结构、行为分离的选项卡效果!
[全兼容哦]--实用、简洁、炫酷的页面转入效果loing
用js判断浏览器是否是IE的比较好的办法
延时重复执行函数 lLoopRun.js

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2010-02-27   浏览: 282 ::
收藏到网摘: n/a

jQuery提供了hide() ,show()对元素进行隐藏和显示,下面看两个函数的应用
复制代码 代码如下:

<!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>