小编Jen*_*a70的帖子

如何在rails appliacation上高效地使用javascript和css?

我在我的rails应用程序上调整我的javascript和css文件有很多麻烦.通过范围界定,我的意思是:

如何处理仅在一个页面或一个控制器中使用的java脚本和CSS?

我尝试了一些解决方案,但它们都很复杂而且不那么优雅:

  • 我看到了一些像这样的建议:直接在我的.erb文件中包含我的.js文件,如下所示:

    <% content_for :head do %>
      <script type="text/javascript">
    <% end %>
    
    Run Code Online (Sandbox Code Playgroud)

    然后在应用程序布局中产生它.但这意味着再向服务器发出一个请求以获取.js文件.我认为只保留一个.js文件和一个资产管道创建的应用程序的.css文件很重要

  • 我看到了一些其他的建议,比如测试我的HTML标签是否存在于DOM上,使用jquery 的.length方法.如果存在特定标签,则仍然意味着在每个页面上进行测试(知道它将仅存在于一页或两页中).

我找到了一个易于实现的解决方案,在我看来,它很优雅.

javascript jquery scope ruby-on-rails css3

5
推荐指数
1
解决办法
895
查看次数

JavaScript问题:setTimeout

我正在尝试使用JavaScript和jQuery创建一个移动面板.

我做了这个工作演示,JS部分看起来像这样:

$("nav.nav").hover(function(){
    $("nav.nav").animate({left:'-5px'},100,"swing");
  },
  function(){
    $("nav.nav").animate({left:'-170px'},100,"swing");
  });
Run Code Online (Sandbox Code Playgroud)

正如你所看到的,它正在工作,但是当我离开面板时我想添加延迟,因为有一段时间,我错误地将面板留下1个像素,这很烦人.

我试着setTimeout("javascript function", milliseconds);像这样使用:

$("nav.nav").hover(function(){
    $("nav.nav").animate({left:'-5px'},100,"swing");
  }, setTimeout(function(){
      $("nav.nav").animate({left:'-170px'},100,"swing");
  },10));
Run Code Online (Sandbox Code Playgroud)

(超时中的回调函数)但它不起作用,我不知道为什么.

javascript jquery settimeout jquery-hover jquery-animate

0
推荐指数
2
解决办法
123
查看次数