jQuery 学习6 操纵元素显示效果的函数
jQuery 学习6 操纵元素显示效果的函数
发布时间:2016-12-30 来源:查字典编辑
摘要:复制代码代码如下:CollapsibleList—Take1$(function(){$('li:has(ul)').click...

复制代码 代码如下:

<!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教程学习
热门Javascript教程学习
编程开发子分类