我正在拼凑一些脚本来在我的页面上创建浮云。
使用脚本使用的完整说明(可以在本文的底部找到)我创建了一个函数,它创建一个图像元素,将它附加到div,将div附加到页面并调用"芯片"构造函数。我在for循环中调用函数来获取页面上我想要的云数。
这是for循环:
for ( var i = 0; i <= cloudNo/4; i ++ ) {
// call a function which creates a new div and chip object
var cloudName = "flyingCloud" + i.toString();
newCloud(i);
movechip(cloudName);
}
这是功能:
// cloud function
function newCloud(number) {
// assign a 'name' to the cloud to be used as the id and then passed to the chip function
var cloudName = "flyingCloud" + number.toString();
// create a div element to house the image
var cloud = document.createElement('div');
// create an image element
var cloudImg = document.createElement('img');
// append the image to the div
cloud.appendChild(cloudImg);
// assign image src as cloud url
cloudImg.src = cloudImageUrl;
// assign the cloudname as the ID
cloud.id = cloudName;
// set the style of the cloud div
cloud.setAttribute('style', 'position:absolute; left: -500px; width:50; height:62; font-size:10px;');
// append the cloud to the container div
cloudDiv.appendChild(cloud);
// create a new chip
cloud = new Chip(cloudName, 362,362);
}
但我一直收到这个错误: moveobj.js:71 Uncaught TypeError:无法读取属性&#39; style&#39; of null(...)
这里是问题代码的链接,第71行试图访问&#39;芯片的样式属性: http://samisite.com/extras/HTMLobj-1640/moveobj.js
我意识到这可能是一个非常容易解决的问题,但似乎无法弄清楚错误是什么。我会非常感激任何意见。
完整说明可在此处找到:http://dynamicdrive.com/dynamicindex4/flyimage.htm
答案 0 :(得分:0)
setAttribute只会覆盖样式属性到最后一个!我不知道,所以我找到了另一个解决方案
cloud.style.position = "absolute";
cloud.style.left = "-500px";
cloud.style.width = "50px";
cloud.style.height = "62px";
cloud.style.fontSize = "10px";