Ruby on rails 带有RoR链接图像的onmouseover
我有一个按钮,我创建了一个图像。此按钮上方有一个鼠标,可切换到其他图像。基本Javascript。我需要一个Rails链接内的图像。我有没有办法在rails链接中包含Javascript事件 以下是我的工作内容:Ruby on rails 带有RoR链接图像的onmouseover,ruby-on-rails,ruby,image,dom-events,Ruby On Rails,Ruby,Image,Dom Events,我有一个按钮,我创建了一个图像。此按钮上方有一个鼠标,可切换到其他图像。基本Javascript。我需要一个Rails链接内的图像。我有没有办法在rails链接中包含Javascript事件 以下是我的工作内容: <%= link_to image_tag("../assets/images/buttonBig.png", :border=>0), :action => 'signup', :controller => 'prelogin' %> <%=
<%= link_to image_tag("../assets/images/buttonBig.png", :border=>0), :action =>
'signup', :controller => 'prelogin' %>
<%= link_to image_tag("../assets/images/buttonBig.png"
onmouseover="src='../assets/images/buttonBigHover.png'"
onmouseout="src='../assets/images/buttonBig.png'", :border=>0), :action =>
'signup', :controller => 'prelogin' %>
0),:action=>
'注册',:controller=>'预登录'%>
以下是我想要的:
<%= link_to image_tag("../assets/images/buttonBig.png", :border=>0), :action =>
'signup', :controller => 'prelogin' %>
<%= link_to image_tag("../assets/images/buttonBig.png"
onmouseover="src='../assets/images/buttonBigHover.png'"
onmouseout="src='../assets/images/buttonBig.png'", :border=>0), :action =>
'signup', :controller => 'prelogin' %>
0),:action=>
'注册',:controller=>'预登录'%>
好吧,最好不要使用Rails来解决这个问题。你应该呆在这里,像这样:
<%= link_to image_tag("../assets/images/buttonBig.png"), :action => 'signup', :controller => 'prelogin', :class => "button-class" %>
现在请注意,我是如何在这里为您的按钮使用相同的图像的。原因是您的浏览器只需加载一个图像。状态的不同就是图像背景位置的不同。因此,您可以对按钮进行切片,使两种状态在一个图像中都可用。然后测量像素差异,并在我上面写的
no repeat
属性之后设置这些坐标。在我的例子中,我猜测的是y坐标差 使用css更简单、更健壮,您必须有一个精灵而不是两个图像:
1º必须使用中的buttonBig.png
和buttonBigHover.png
创建精灵
2:现在您已将一个类应用于您的链接,例如:
在your view.html.erb中
<%= link_to image_tag("buttonBig.png", :border=>0), :action =>
'signup', :controller => 'prelogin', :class => "button" %>
在a.按钮中:悬停
可以观察到背景位置为0 50px
。您必须检查精灵的正确值
问候 你为什么要那样做?首先,我会使用CSS来实现这一点,它更简单、更健壮。如果不是CSS,在HTML中混合一些JS可能会很痛苦。我不喜欢一种方式胜过另一种方式。我是rails新手,不确定这样做的正确方法是什么。我不使用CSS,因为IE中存在渐变问题。CSS和JS在IE中同样容易出现渐变问题。如果需要,可以使用gif来避免任何潜在问题