我遇到了我安装的库的问题,但我很确定答案更为通用。
我有一个js文件,用这段代码计算“data-x”和“data-y”的值:
$(document).ready(function () {
var x2 = -1920;
var y2 = 0;
var resX = $(window).width();
var resY = $(window).height();
var disX = (resX)/1920;
var disY = (resY)/1080;
$("#div2").attr('data-x',disX*x2);
$("#div2").attr('data-y',disY*y2);
});
当我在页面加载后检查Chrome控制台时,所有值都正确地显示在右边的div中,但是第一个js文件(impress.js)没有看到值,除非它们被硬编码到HTML中文件。
我尝试切换每个文件加载的顺序无效。这是我的html的样子:
我能做些什么来获得impress.js(我下载的js库)来查看我在myjs.js文件中计算的值?它是如何加载的问题,还是html文档底部的impress.init()?
任何帮助将不胜感激!谢谢!
答案 0 :(得分:1)
看看你的小提琴和你附加的代码,我想问题是你的代码将在DOM ready事件上运行,impress().init()
将在解析时运行(因此很可能在DOM之前运行)完全准备好了。)
您可以在代码后面加上这一行:
$(document).ready(function () {
var x2 = -1920;
var y2 = 0;
var resX = $(window).width();
var resY = $(window).height();
var disX = (resX)/1920;
var disY = (resY)/1080;
$("#div2").attr('data-x',disX*x2);
$("#div2").attr('data-y',disY*y2);
impress().init(); // <-- init it here after the values are being set
});