【问题标题】:jQuery - margin-top not updating in chromejQuery - 边缘顶部未在 chrome 中更新
【发布时间】:2012-07-19 15:36:12
【问题描述】:

我正在尝试通过一些简单的数学运算来更新顶部边距,从而为一些 IMG 元素设置动画。

是这样的:

$('.spd2').css('margin-top', - offsetPC * 12 + '%');

它适用于这样的 IMG:

<img src="img/pgDadosImportantes_i001.png" class="spd1" 
    style="right: 30%; top: 45%; z-index:10;" />

在 css doc 中设置此样式:

.ilustras {
    width: 960px;
    height: 100%;
    position: absolute;
    z-index: 0;
}

.ilustras img {
    position: absolute;
    float: right;
    width: auto; 
    height: auto;
    display: inline-block;
}

它在 Firefox 和 IE 中运行良好。问题是在 chrome 中,margin-top 的值没有被更新。

我尝试对所有涉及的元素进行一些更改,将属性更改为位置、浮动、宽度、高度、显示...并在 jQuery 中更改了一些命名 marginLeft、margin-left 的方法。

Chrome 无法正常工作。如果我应用一个静态数字,它就可以工作。

我这里有一个示例:

http://unitfour.com.br/HotsiteCluster/

感谢任何帮助!

*对不起我的英语和我的代码...我是一名巴西设计师!

【问题讨论】:

  • $('.spd1').css('margin-top', - offsetPC * 12 + '%');你应该在你的jquery脚本中写这个,就像你给的img标签一样 class="spd1"
  • 没明白重点.. 但谢谢回答。
  • 调试offsetPC var,谷歌浏览器是唯一返回“infinity”的。
  • @FabioMontone:你能告诉我们 offsetPC 是在哪里设置的,它有什么价值吗?
  • @TJ。它被设置并且值根据页面滚动的百分比而变化。但它没有在 Webkit (Chrome / Safari) 中显示,因为 - 以一种奇怪的方式 - 他们没有得到 scrollTop();价值观。我已经使用 boldwindow.pageYOffsetbold 来组成我的变量解决了这个问题。希望对其他人有所帮助!谢谢大家的帮助!

标签: jquery google-chrome


【解决方案1】:

尝试类似:

$('.spd2').css('margin-top', ((parseInt($('.spd2').css('margin-top')) - offsetPC) * 12) + '%');

并告诉我们是否可以。

【讨论】:

    【解决方案2】:

    它没有在 Webkit (Chrome / Safari) 中显示,因为 - 以一种奇怪的方式 - 他们没有得到 scrollTop(); 值。我已经使用window.pageYOffset 来编写我的变量解决了这个问题。希望对其他人有所帮助!谢谢大家的帮助!

    【讨论】:

    猜你喜欢
    • 2011-12-10
    • 1970-01-01
    • 1970-01-01
    • 2011-08-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-10-10
    相关资源
    最近更新 更多