这真的是用于信息和学习的目的,同时学习更多关于JavaScript和CSS的内容。我有一个本地浏览器索引页,我想旋转背景图像onload。环顾四周,有不同的解决方案打后,我在此落户的基本循环功能:调整背景图片大小
<html>
<head>
<script language="javascript" type="text/javascript">
function rotate()
{
var imgArray = new Array("img1.jpg", "img2.jpg", "img3.jpg");
var aImg = Math.floor(Math.random()*imgArray.length);
var img = imgArray[aImg];
document.body.style.background = "url(" + img + ") no-repeat";
document.body.style.backgroundSize = "cover";
}
</script>
</head>
<body onload="rotate()">
</body>
</html>
在这个过程中,我只设置了backgroundSize
为盖之前,以填补窗口,我是用的想法打在将图像设置为从数组中选择的背景图像之前调整图像大小。
我做了很多搜索,我发现的唯一真正的工作解决方案依赖于通过ID选择元素,但这也要求图像具有关联的ID,例如HTML中的IMG属性码。在这里,图像被选中并在CSS中设置JavaScript。
我试图与img.width
/img.height
和img.style.width
/img.style.height
,以及其他一些随机解我所遇到的设置图像尺寸,但每当我试图改变这些图像要么没有改变,要么不根本不显示。
function rotate()
{
var imgArray = new Array("img1.jpg", "img2.jpg", "img3.jpg");
var aImg = Math.floor(Math.random()*imgArray.length);
var img = imgArray[aImg];
image = rsize(img);
document.body.style.background = "url(" + image + ") no-repeat";
document.body.style.backgroundSize = "cover";
}
function rsize(image)
{
image.style.width = "300px";
image.style.height = "300px";
return image;
}
我知道我可能在这里做错了什么。在这种情况下,我可以调整这些图像的大小吗?或者有更好的方法来构建这个?
在此先感谢。
可以,但不能与IMG元素... – Bergi
也就是类似于一个我之前尝试的解决方案,但没有'appendChild'。但它仍然不适用于图像元素。对我来说,这仍然是一个很好的信息,谢谢。 – jb11
@ jb11 - 我在我的代码示例中修复了一个错字。我还实施了一个工作演示,您可以在其中看到以图片为中心的CSS:http://jsfiddle.net/jfriend00/jqMtV/ – jfriend00