jQuery / JS:。因为在动作开始之前没有完成设置而没有解雇?

时间:2015-02-03 10:18:25

标签: javascript jquery css-transitions

我有以下代码淡出一页,一旦淡出,淡入另一页。我正在使用来自jQuery的.one来处理转发端侦听器。

它始终不起作用,事件不会被触发。但是,一旦我在.one和.removeClass(启动动画)之间添加延迟,它就会起作用。

var old_pageid = parseInt( $('#container .page-show').attr( 'id').match( /\d+/)[0]);
$( '#pc'+old_pageid).one( 'transitionend', $.proxy( function() {
  $( '#pc'+old_pageid).addClass( 'display-none');
  $( '#pc'+pageid).removeClass( 'display-none');
  setTimeout( function() {
    $('#pc'+pageid).addClass( 'page-show');
  }, 50);
}, this)).removeClass( 'page-show');

它看起来像第一个。一个电话需要太长时间。我认为一个是阻塞功能。但最后一次removeClass(' page-show')被调用,但没有任何反应。第一个.one中的回调未被调用。

这里有什么问题?我怎么能保证,第一个。一个人真的已经完成了,并且正在倾听“过渡期”。 ?

另一个奇怪的事情是,当我立即添加页面显示时,转换不起作用。但使用超时50毫秒,它的工作原理。因为页面首先设置为display:none;,然后添加其删除页面显示,使页面不透明:1。

0 个答案:

没有答案