【问题标题】:"Bad" effect on appear and disappear of a page element页面元素出现和消失的“坏”效果
【发布时间】:2011-03-25 13:36:17
【问题描述】:

我正在使用 Ruby on Rails 3 和 RJS 模板(带有 Prototype),我正在尝试检查 HTML 是否如下所示

<div id="test_div_id">...</div>

具有style="display: none 的属性。如果是这样,为了显示它,我运行

page.visual_effect(:appear, "test_div_id", :duration => 0.5)

我想要的是,在div显示之后,上面的page.visual_effect一定不能再运行了,否则我会因为出现和消失而对前端产生“坏”的影响div.


以下代码可以正常工作

page.visual_effect(:appear, "test_div_id", :duration => 0.5) if page.show "test_div_id"

但我不知道这是否是一个好方法......

【问题讨论】:

  • 效果如何?
  • @ShaneC - 是的。我的问题发生在我第二次(或更多次)运行上述代码时。

标签: ruby-on-rails ruby ajax ruby-on-rails-3 rjs


【解决方案1】:

并不是对您的问题的最佳描述,但通常的做法是检测一个标识符,例如“my_hidden_​​div_id”,然后删除该标识符作为对其应用效果的回调。

【讨论】:

  • 你能写一个简单的代码示例,说明如何使用 RJS 删除标识符吗?
  • 说实话,我不是 rjs 的粉丝,但据我所知:page['old_identifier'].className = 'new_identifier'
【解决方案2】:

如果你已经通过 jQuery 设置了你的效果,你可以应用 one() 让它只运行一次。

不过,有关如何将事物联系起来的更多详细信息会有所帮助。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-07-03
    • 2018-12-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-07-29
    相关资源
    最近更新 更多