PHP slideup,jQuery 的 slideUp 和 slideDown实现 展开和收缩效果

利用jQuery动态控制列表内容展开与收缩

利用jQuery动态控制列表内容展开与收缩的原理是:通过jQuery的滑动效果函数将原本隐藏的列表内容滑动显示或者将原本显示的列表内容滑动隐藏。其中使用到的jQuery的函数有:ready()、hover()、toggle()、slideDown()、slideUp()函数。

(1)jQuery的toggle()函数--事件切换

该函数每次单击后依次调用函数。其语法形式如下:

toggle(fn1,fn2,[fn3,fun4,…])

注:如果单击了一个匹配的元素,则触发指定的第一个函数。当再次单击同一元素时,则触发指定的第二个函数。如果有更多函数,则再次触发,直到最后一个。随后的每次单击都重复对这几个函数的轮番调用。可以使用unbind("click")来删除。fn1,第一次单击要执行的函数;fn2,第二次单击要执行的函数;fn3、fn4等都是可选参数,表示更多次单击要调用的函数。

(2)jQuery的slideDown()函数--向下滑动

该函数通过高度变化(向下增大)来动态地显示所有匹配的元素,在显示完成后可选地触发一个回调函数。其语法形式如下:

slideDown(speed,[callback])

注:这个动画效果只调整元素的高度,可以使匹配的元素以"滑动"的方式显示出来。speed,三种预定速度之一的字符串("slow","normal"or "fast")或表示动画时长的毫秒数值(如1000);function是在动画完成时执行的函数。

(3)jQuery的slideUp()函数--向上滑动

该函数通过高度变化(向上减小)来动态地隐藏所有匹配的元素,在隐藏完成后可选地触发一个回调函数。其语法形式如下:

slideUp(speed,[callback])

注:这个动画效果只调整元素的高度,可以使匹配的元素以"滑动"的方式隐藏起来。speed,三种预定速度之一的字符串("slow","normal"或"fast")或表示动画时长的毫秒数值(如1000);function是在动画完成时执行的函数。

2.功能实现

实现列表内容展开与收缩的步骤如下。

(1)选定需要动态触发隐藏与显示列表内容的事件,hover()事件或者toggle()事件。

(2)在事件中编写隐藏与显示的具体动作,并设置动作持续时间。

首先,把jQuery库引入进来:

<

script

language

=

"JavaScript"

src

=

"jslib/jquery-1.6.js"

>

script

>

然后,添加完整代码:

$(document).ready(function(){

$(".menu").toggle(                         //鼠标悬停与离开事件

function(){

$(".content").slideDown(800);     // 展开

},function(){

$(".content").slideUp(1000)       // 收缩

});

})

上述两段代码只是在事件的使用上有所不同。在这里还要注意一点,当加入jQuery代码后,在CSS样式设定中需要把原来的列表显示状态改成隐藏状态,即:

.menu ul{display:none;}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
下面是一个使用原生 JavaScript 实现 jQueryslideUp 和 slideDown 效果的示例: HTML 代码: ```html <button id="btn">Toggle</button> <div id="box" style="height: 200px; background-color: yellow;">Content</div> ``` JavaScript 代码: ```javascript var box = document.getElementById('box'); var btn = document.getElementById('btn'); function slideUp() { var height = box.offsetHeight; box.style.transitionProperty = 'height, margin, padding'; box.style.transitionDuration = '0.5s'; box.style.boxSizing = 'border-box'; box.style.height = height + 'px'; box.offsetHeight; box.style.overflow = 'hidden'; box.style.height = 0; } function slideDown() { var height = box.offsetHeight; box.style.transitionProperty = 'height, margin, padding'; box.style.transitionDuration = '0.5s'; box.style.boxSizing = 'border-box'; box.style.height = 0; box.offsetHeight; box.style.overflow = 'hidden'; box.style.height = height + 'px'; } btn.addEventListener('click', function() { if (box.classList.contains('open')) { box.classList.remove('open'); slideUp(); } else { box.classList.add('open'); slideDown(); } }); ``` 在这个例子中,我们使用了 `transition` 属性来实现动画效果,并使用 `setTimeout` 函数来确保 CSS 的变化应用于 DOM 元素。由于 JavaScript 与 CSS 的执行顺序不同,我们需要使用 `offsetHeight` 属性来强制 JavaScript 引擎重新计算元素的高度,以便确保动画效果可以正确应用。 注意,在这个示例中,我们使用了一个 `.open` 类来标识盒子是否处于打开状态。这个类可以用来在 JavaScript 中切换 slideUp 和 slideDown 效果
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值