CoffeeScript在鼠标悬停时更改图像src

时间:2015-05-06 20:06:26

标签: javascript ruby-on-rails coffeescript

我想在Rails视图中使用CoffeeScript在链接鼠标悬停上更新一个简单的图像src。

出于某种原因,这很好用:

showimghover = (imgpath) ->
  $('.thelink').mouseover ->
    imgpath = '../../images/imagefile.jpg'
    $("#theimage").attr
      src: '../../images/imagefile.jpg'

但由于某些原因,当我插入字符串变量而不是手工编写URL时,这不会更新img src:

showimghover = (imgpath) ->
  $('.thelink').mouseover ->
    imgpath = '../../images/imagefile.jpg'
    $("#theimage").attr
      src: imgpath

编辑:

为了澄清这个问题,这很好用:

$('#imghover').css('background','url(../../images/imagefile.jpg)')

但是当插入变量时,它不起作用:

imgpath = 'url(../../images/imagefile.jpg)'
$('#imghover').css('background', imgpath)

1 个答案:

答案 0 :(得分:0)

我想我已经明白了...当我将这段代码移出" showimghover"它起作用。我必须使用函数重新集成此代码以动态设置图像路径,但我的原始问题已得到解决。

$ ->
    $('.style-link').mouseover ->
        $('#imghover').css('display', 'block')
        imgpath = 'url(../../images/OT153575_CRM_FRONT.jpg)'
        $('#imghover').css('background',imgpath)

我仍然不明白为什么会这样,因为我对CoffeeScript很新。