首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Fx.Slide实例化之前在元素上近似mootools‘.slide('out')

在Fx.Slide实例化之前在元素上近似mootools‘.slide('out')
EN

Stack Overflow用户
提问于 2011-04-23 07:20:08
回答 3查看 789关注 0票数 0

var myFx = new Fx.Slide(element);添加到window.addEvent('domready'...)会很简单,但是因为我使用AJAX加载“子页面”,所以这些页面中这些元素的mootools对象需要在完全加载之后实例化。如果我尝试使用domready,将找不到该元素,原因很简单,因为它还不存在。

我已经用setTimeout(function() { ... }, 500);解决了这个问题,但是在页面加载和创建元素效果之间留下了500ms的延迟。

代码语言:javascript
复制
<div id="foo">TextTextText</div>
<script type="text/javascript">
    setTimeout(function() {
        var myFx = new Fx.Slide('foo').slideOut();
    }, 500);
</script>

当页面加载时,在元素转到其默认状态...之前有一个笨重的500ms。呃..。“滑进去了”(滑入?)

不过,对于.hide()和.show()效果,有一种变通方法,因为我可以简单地在html <div id="foo" style="display: none;">中编写

我尝试过用<div id="foo" style="height: 0px; overflow: hidden;">来近似元素的“滑入”状态,但是这个元素永远都是这样隐藏的,而且slide()对它什么也做不了。

我觉得我好像错过了一些简单的东西。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-04-24 02:14:29

我最终用一个快速的变通方法解决了这个问题(无论如何,我都很满意)。

代码语言:javascript
复制
<div id="foo" style="display: none;">TextTextText</div>
<a href="#" id="toggler">Click me!</a>
<script type="text/javascript">
    setTimeout(function() {
        var myFx = new Fx.Slide('foo').slideOut();
        $('toggler').addEvent('click', function() {
            if ($('foo').getStyle('display') == 'none') $('foo').setStyle('display', 'block');
            myFx.slideIn();
        });
    }, 500);
</script>

元素在初始状态下是隐藏的,slideOut()效果在延迟之后运行,但是用户不会注意到,因为元素是隐藏的。调用时,元素显示设置为block (如果尚未设置),并调用slideIn()

票数 0
EN

Stack Overflow用户

发布于 2011-04-23 21:47:51

您是否尝试过将Fx.Slide实例化放在XHR调用的onComplete方法中?

示例:

代码语言:javascript
复制
var myRequest = new Request({
    method: 'get', 
    url: 'requestHandler.php',
    onComplete : function() {
        var myFx = new Fx.Slide(element);
        // etc ...
    }
});
票数 0
EN

Stack Overflow用户

发布于 2012-06-06 12:30:50

设置初始状态:

代码语言:javascript
复制
var myFx = new Fx.Slide('foo').hide();

然后,当您希望它出现时:

代码语言:javascript
复制
myFx.show().slideIn();
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5760944

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档