javascript - Chrome 和 Firefox 忽略顶部和左侧的 Javascript 样式

标签 javascript html css google-chrome safari

我正在尝试使用 Javascript 中的样式,并尝试在我想要的位置放置一些 div。此代码在 Safari 中完美运行(每个 div 都放置在左侧和顶部的位置)但它不适用于 Chrome 和 Firefox。那不是

    div = document.createElement('div');
    div.id = this.numberOfSystem + 'circle' + i;


    div.x = ((this.centerX) + ((this.lenghtMain/2 + this.lenghtSmall/2 + 50) * Math.sin( 2 * Math.PI / this.amount * i))) - (this.lenghtSmall / 2);  
    div.y = ((this.centerY) + ((this.lenghtMain/2 + this.lenghtSmall/2 + 50) * Math.cos( 2 * Math.PI / this.amount * i))) - (this.lenghtSmall / 2);

    div.style.position = "fixed";
    div.style.left = div.x + "px";
    div.style.top = div.y + "px";
    div.style.width = this.lenghtSmall;
    div.style.height = this.lenghtSmall;

Chrome 和 Firefox 的问题是,当我 checkin 开发人员工具时,style.top 和 style.left 未定义,因此所有元素都显示在左上角。从开发人员工具 -> 元素我得到这个

<div id="0circle1" style="position: fixed; width: 250px; height: 250px; text-align: center; background-image: url(file:///Users/Imanol/Documents/Webs/Portfolio2/circulo200.png); background-size: 100%;"><div style="margin: 20%;">Curriculum</div></div>

没有关于顶部和左侧的问题......在 Safari 中它完美地工作并且元素被放置在它们应该出现的位置。这就是我从 Safari 中得到的。

<div id="0circle0" style="position: fixed; left: 340.0003905596077px; top: 360.04122042944215px; width: 250px; height: 250px; background-image: url(file:///Users/Imanol/Documents/Webs/Portfolio2/circulo200.png); background-size: 100%; text-align: center;"><div style="margin: 20%;">Studies<br><br><img width="100" height="100" src="pastel.jpg"></div></div>

我试过 Math.round() 但它仍然不起作用。

最佳答案

解决了!

问题来自 this.centerX 和 this.centerY,它们是使用 document.width 和 document.height 计算的,它们在 safari 中有效,但在 firefox 或 chrome 中无效,所以在这两个中它们返回 NaN...我更改了它们对于 window.innerWidth 和 window.innerHeight 并且在任何地方都能完美工作...谢谢!

关于javascript - Chrome 和 Firefox 忽略顶部和左侧的 Javascript 样式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31418857/

相关文章:

javascript - jQuery UI Datepicker 使用新的 DefaultDate 销毁并重新初始化日历

JavaScript:替换 json 文件中的 html 字符串(无 jQuery)

html - 如何删除元素中的文本但显示其子元素

css - 移动设备与大图像尺寸

javascript - Bootstrap 模态未显示,屏幕只有黑色覆盖

javascript - 使用 Materialize-CSS 与 React-toolbox 或 Material-UI react 元素

javascript - 附加和重新附加事件处理程序

html - 右对齐 div 与左对齐 div 内联?

html - 多选选项未正确显示

php - MPDF 不显示正确的 CSS