【问题标题】:Ruby: Way to change <div> visibility, avoiding JavaScriptRuby:改变 <div> 可见性的方法,避免使用 JavaScript
【发布时间】:2012-11-11 05:21:53
【问题描述】:

我正在寻找一种改变 HTML div 可见性的好方法。

可能最常见的方法是使用 JavaScript,因为它可以操作我的 DOM。在我目前的项目中,我不喜欢使用任何 JavaScript,所以这是我的问题:

是否有其他方法可以通过使用 Ruby 或 Sass 等技术来解决此问题?

我在我的项目中使用 Ruby + Sinatra 框架,以及 HamlSass

【问题讨论】:

  • 我知道 JS 的方式是:` ... { document.getElementById("visible").style.visibility = "hidden"; } ... `
  • 您希望在用户加载页面之后,还是在提供页面时动态地执行此操作?如果它是在页面被提供并且浏览器正在显示它之后,那么这不是一个 Ruby 问题,它纯粹是 JavaScript。
  • Javascript 不会操纵您的样式表,而是会操纵浏览器中加载的 dom 树。在不使用 javascript 的情况下,您可以使用会话并重新加载页面,让 div 逻辑在服务器端显示。
  • 在页面加载后并且不使用 javascript 是不可能的,除非你每 x 秒刷新一次页面...
  • display: none 通常是隐藏元素的首选方式,因为它会完全删除元素,而不是像visibility: hidden 那样留下一个大洞。 is HTML5 中的一个元素(详细信息)具有显示/隐藏行为,但只有在语义上适当时才应使用它(目前支持很差:仅限 Chrome/Safari) .

标签: ruby sinatra haml sass


【解决方案1】:

我不确定 HAML 语法。以下是否适合您的需要?

- if hide_div?
  %div {:style=> "display:none;"}
- else
  %div {:style=> "display:block;"}
- end

【讨论】:

    猜你喜欢
    • 2013-04-14
    • 2011-10-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-21
    • 1970-01-01
    • 2015-01-23
    相关资源
    最近更新 更多