javascript 中的新 Effect.toggle(参数)?

new Effect.toggle(argument) in javascript?

目前我正在处理一个包含 prototype.js + scriptaculous.js 和其他一些东西的项目。我正在尝试删除这些库。所以一切都应该用javascript来完成。但是我遇到了一件对我来说不清楚的事情(我找不到好的解释或解决方案)。 也许有人会慷慨地帮助我一点点。 我有一个函数,点击时会传递 4 个参数:

function someEffect(element, argTwo, argFive, argSix) {

  //code which is done already
  //code which is done already

  new Effect.toggle(element);
}

所以我唯一需要做的就是用纯 js 替换最后一行。

在 Scriptaculous 中,Effect.toggle(默认情况下)淡入或淡出现有元素。可以在第二个参数中指定其他过渡效果,但默认情况下,对象在 3 秒内淡入或淡出。这些效果的确切实现记录在此处:Effect.fade Effect.appear

切换基于其决定在元素的 display 属性 上触发哪个效果。如果当前是display: none,则在其上播放出现效果。如果不是,则淡入淡出效果是。 Effect.fade 的最终状态是将显示设置为 none

如果此页面的其他部分仍需要与您正在构建的替换效果进行交互,我会为您提供所有背景信息。如果他们这样做,那么您将需要完全替换效果的那些部分。如果没有,you can probably do all of this with CSS, and reduce the overhead of your script to adding or removing a CSS classname在对象上。