gpt4 book ai didi

Javascript 滑动效果onclick

转载 作者:行者123 更新时间:2023-11-30 13:13:30 26 4
gpt4 key购买 nike

我想使用“onclick”使用纯 Javascript 向 DIV 添加滑动和淡入淡出效果。

代码在这里:http://jsfiddle.net/TCUd5/

要滑动的DIV有id="pulldown_contents_wrapper"。这个 DIV 包含在一个 SPAN 中,它也会触发它:

<span onclick="toggleUpdatesPulldown(event, this, '4');" style="display: inline-block;" class="updates_pulldown" >
<div class="pulldown_contents_wrapper" id="pulldown_contents_wrapper">

而且我认为控制 SPAN onclick 的 JS 代码是:

var toggleUpdatesPulldown = function(event, element, user_id) {
if( element.className=='updates_pulldown' ) {
element.className= 'updates_pulldown_active';
showNotifications();
} else {
element.className='updates_pulldown';
}
}

如果无法使用纯 JS 实现,您知道我如何使用 Mootools 实现吗? (*我只想使用纯 JS 或 Mootols 框架)。

我已尝试实现以下代码:why javascript onclick div slide not working?但没有结果。

非常感谢。

我已经设法用 Mootools 做到了,但我不知道如何添加滑动和淡入淡出效果,以及鼠标移出的延迟

    window.addEvent('domready', function() {
$('updates_pulldown').addEvents({
mouseenter: function(){
$('updates_pulldown').removeClass('updates_pulldown').addClass('updates_pulldown_active')
$('pulldown_contents_wrapper').set('tween', {
duration: 1000,
physics: 'pow:in:out',
transition: Fx.Transitions.Bounce.easeOut // This could have been also 'bounce:out'
}).show();
},
mouseleave: function(){
$('pulldown_contents_wrapper').set('tween', {
duration: 1000,
delay: 1000,
}).hide();
$('updates_pulldown').removeClass('updates_pulldown_active').addClass('updates_pulldown')
},
});
});

var toggleUpdatesPulldown = function(event, element, user_id) {
showNotifications();
}

有什么想法吗?

最佳答案

jQuery更容易,但使用纯 JavaScript 就可以做到。

在 CSS 中你需要使用过渡

#thing { position:relative;
top: 0px;
opacity: 0.8;
-moz-transition: top 1s linear, opacity 1s linear;
-webkit-transition: top 1s linear, opacity 1s linear;
}

然后在 javascript 中,当您更改元素的位置时,它应该通过 css 转换进行更改。

var toggleUpdatesPulldown = function(event, element, user_id) {
if( element.className=='updates_pulldown' ) {
element.style.top = someValue; //something like '100px' will slide it down 100px
element.style.opacity = '1.0'; //will fade the content in from 0.8 opacity to 1.0
element.className= 'updates_pulldown_active';
showNotifications();



编辑 - 提供的 jQuery 代码

调用 jQuery 库,最容易从 google 托管完成

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.1/jquery.min.js"></script>

制作悬停功能

$(document).ready(function() {
$('.updates_pulldown').hover( //first function is mouseon, second is mouseout
function() {
$(this).animate({top: '50px'}).animate({opacity: '1.0'});
},
function() { //delay 1000 milliseconds, animate both position and opacity
$(this).delay(1000).animate({top: '0px'}).animate({opacity: '0.5'});
}
)
})

函数时间将与您在带有过渡标签的 css 中设置的时间相同。再次使用“this”而不是类名可确保效果仅发生在悬停的类的特定实例上。我不确定这个动画是否正是您所要求的,但如果我正确理解了这个问题,那么主要功能将适用于您。只需更改数字等以满足您的需求。

关于Javascript 滑动效果onclick,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12980955/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com