使用jQuery Rollover数据属性时,Safari在悬停后调整SVG大小

时间:2014-08-26 22:36:24

标签: javascript jquery html svg coffeescript

这似乎是Safari独有的错误,我似乎无法找到有关它为何甚至可能发生的任何信息。

仅限Safari,仅使用SVG。

我正在使用jQuery的数据属性翻转技术。

    $("img.rollover").hover (->
      imgRolloverSwap($(@))
    ), ->
      imgRolloverSwap($(@))


  imgRolloverSwap = ($img)->
    srcName = $img.attr('src')
    $img.attr('src', $img.data('rollover'))
    $img.data('rollover', srcName)

SVG嵌入了IMG标签,基本上所做的就是为数据属性中的一个转换出翻转图像。

我的HTML因此:

<div id="social-links">
          <a href="https://www.facebook.com/pages/StackCommerce/220449001487225">
            <img data-rollover="/assets/img/footer/facebook-rollover.svg" class="rollover" type='image/svg+xml' src="/assets/img/footer/facebook.svg" />
            <!-- <img class="rollover" src="/assets/img/footer/facebook.svg" alt="facebook link" target="_blank"> -->
          </a>
          <a href="https://www.linkedin.com/company/stackcommerce">
            <img class="rollover" src="/assets/img/footer/linkedin.svg" alt="linkedin link" target="_blank">
          </a>
          <a href="https://plus.google.com/u/0/b/104759401634432683234/104759401634432683234/aboute">
            <img class="rollover" src="/assets/img/footer/google.svg" alt="google plus link" target="_blank">
          </a>
          <a href="https://twitter.com/stackcommerce">
            <img class="rollover" src="/assets/img/footer/twitter.svg" alt="twitter link" target="_blank">
          </a>
        </div>

CSS(Sass)是这样的:

#social-links {
    @extend .col-xs-12, .col-sm-3, .col-md-2;
    a {
      @extend .col-xs-3, .col-sm-6;
      margin-bottom: 15px;
    }
    img {
     @extend .img-responsive;
    }
 }

然而,在第一次悬停时图像可以正常工作,但是当您滚动时,图像会变小。

如果你使用jQuery技术或使用vanilla JS用正则表达式更改src名称,就会发生这种情况。

其他图像格式不会发生这种情况,我尝试在级联的几乎每个元素上设置不同的100%宽度。

这些线程的修复似乎没有修复:

SVG resizes on hover in safari only

Scaling/Resizing SVG in an HTML

Rollover SVG images resizing in Safari and IE

也许有人可以说明为什么会这样,或者是一种在Safari中提供帮助的技术?

您可以在此页面上看到它,也可以在页脚底部看到它。

http://beta.stackcommerce.com.s3-website-us-east-1.amazonaws.com/publishers/

提前致谢!

0 个答案:

没有答案