Javascript 非最大化浏览器会弄乱背景图像
我正在尝试创建一个全屏可变背景图像。我花了很长时间来完善它,以便在其他PC上工作。它在我的屏幕上工作得很好,但在其他显示器上它会改变 现在的问题是,如果浏览器没有最大化,图像就会到处都是。 一旦最大化,它就可以正常工作 背景图像每5秒更改一次,因此它不像设置背景图像那么简单。这是我的密码:Javascript 非最大化浏览器会弄乱背景图像,javascript,css,background-image,Javascript,Css,Background Image,我正在尝试创建一个全屏可变背景图像。我花了很长时间来完善它,以便在其他PC上工作。它在我的屏幕上工作得很好,但在其他显示器上它会改变 现在的问题是,如果浏览器没有最大化,图像就会到处都是。 一旦最大化,它就可以正常工作 背景图像每5秒更改一次,因此它不像设置背景图像那么简单。这是我的密码: <head> <script type='text/javascript'> var imageID=0; function changeimage(every_seconds) {
<head>
<script type='text/javascript'>
var imageID=0;
function changeimage(every_seconds)
{
//change the image
if(!imageID)
{
document.getElementById("myimage").src="Minecraft.jpg";
imageID++;
}
else if(imageID==1)
{
document.getElementById("myimage").src="Minecraft1.jpg";
imageID++;
}
else if(imageID==2)
{
document.getElementById("myimage").src="Minecraft2.jpg";
imageID++;
}
else if(imageID==3)
{
document.getElementById("myimage").src="Minecraft4.jpg";
imageID++;
}
else if(imageID==4)
{
document.getElementById("myimage").src="Minecraft5.jpg";
imageID++;
}
else if(imageID==5)
{
document.getElementById("myimage").src="Minecraft6.jpg";
imageID++;
}
else if(imageID==6)
{
document.getElementById("myimage").src="Minecraft7.jpg";
imageID=0;
}
//call same function again for x of seconds
setTimeout("changeimage("+every_seconds+")",((every_seconds)*3000));
}
</script>
<style>
#myimage {
width: 100%;
height:100%;
position: absolute;
top: 0;
left: 0;
}
</style>
<body>
<body style='background:black; '
onload='changeimage(2)'>
<div style='position:absolute;width:100%;height:100%;left:0px;top:0px;' align='center'><img id='myimage' src='Minecraft.jpg'/>
</div>
</body>
var-imageID=0;
功能更改图像(每_秒)
{
//更改图像
如果(!imageID)
{
document.getElementById(“myimage”).src=“Minecraft.jpg”;
imageID++;
}
else if(imageID==1)
{
document.getElementById(“myimage”).src=“Minecraft1.jpg”;
imageID++;
}
else if(imageID==2)
{
document.getElementById(“myimage”).src=“Minecraft2.jpg”;
imageID++;
}
else if(imageID==3)
{
document.getElementById(“myimage”).src=“Minecraft4.jpg”;
imageID++;
}
else if(imageID==4)
{
document.getElementById(“myimage”).src=“Minecraft5.jpg”;
imageID++;
}
else if(imageID==5)
{
document.getElementById(“myimage”).src=“Minecraft6.jpg”;
imageID++;
}
else if(imageID==6)
{
document.getElementById(“myimage”).src=“Minecraft7.jpg”;
imageID=0;
}
//再次调用相同的函数,持续x秒
设置超时(“更改图像(“+每秒钟+”),((每秒钟)*3000));
}
#我的形象{
宽度:100%;
身高:100%;
位置:绝对位置;
排名:0;
左:0;
}
----------编辑--------------
我使用了你的代码(希望是正确的),但现在根本没有加载图像
<head>
<script type='text/javascript'>
var imageID=0;
function changeimage(every_seconds)
{
//change the image
if(!imageID)
{
document.getElementByTagName("body").className="pic1";
imageID++;
}
else if(imageID==1)
{
document.getElementByTagName("body").className="pic2";
imageID++;
}
else if(imageID==2)
{
document.getElementByTagName("body").className="pic3";
imageID++;
}
else if(imageID==3)
{
document.getElementByTagName("body").className="pic4";
imageID++;
}
else if(imageID==4)
{
document.getElementByTagName("body").className="pic5";
imageID++;
}
else if(imageID==5)
{
document.getElementByTagName("body").className="pic6";
imageID++;
}
else if(imageID==6)
{
document.getElementByTagName("body").className="pic7";
imageID=0;
}
//call same function again for x of seconds
setTimeout("changeimage("+every_seconds+")",((every_seconds)*3000));
}
</script>
</head>
<body>
<body>
<style>
.pic1 { background-image: 'Minecraft.jpg'; }
.pic2 { background-image: 'Minecraft1.jpg'; }
.pic3 { background-image: 'Minecraft2.jpg'; }
.pic4 { background-image: 'Minecraft5.jpg'; }
.pic5 { background-image: 'Minecraft6.jpg'; }
.pic6 { background-image: 'Minecraft7.jpg'; }
</style>
<body style='background:black; '
onload='changeimage(2)'>
<div style='position:absolute;width:100%;height:100%;left:0px;top:0px;' align='center'><img id='myimage' src='Minecrft.jpg'/>
</div>
</body>
var-imageID=0;
功能更改图像(每_秒)
{
//更改图像
如果(!imageID)
{
document.getElementByTagName(“主体”).className=“pic1”;
imageID++;
}
else if(imageID==1)
{
document.getElementByTagName(“主体”).className=“pic2”;
imageID++;
}
else if(imageID==2)
{
document.getElementByTagName(“主体”).className=“pic3”;
imageID++;
}
else if(imageID==3)
{
document.getElementByTagName(“主体”).className=“pic4”;
imageID++;
}
else if(imageID==4)
{
document.getElementByTagName(“主体”).className=“pic5”;
imageID++;
}
else if(imageID==5)
{
document.getElementByTagName(“主体”).className=“pic6”;
imageID++;
}
else if(imageID==6)
{
document.getElementByTagName(“主体”).className=“pic7”;
imageID=0;
}
//再次调用相同的函数,持续x秒
设置超时(“更改图像(“+每秒钟+”),((每秒钟)*3000));
}
.pic1{背景图像:'Minecraft.jpg';}
.pic2{背景图像:'Minecraft1.jpg';}
.pic3{背景图像:'Minecraft2.jpg';}
.pic4{背景图像:'Minecraft5.jpg';}
.pic5{背景图像:'Minecraft6.jpg';}
.pic6{背景图像:'Minecraft7.jpg';}
我做错了什么?对背景图像使用100%x 100%绝对定位div可能是导致问题的原因 切换到
.pic1 { background-image: '../path/to/image1'; }
.pic2 { background-image: '../path/to/image1'; }
etc
然后,您将更改的类,而不是更改图像标记的src。这将允许您删除该div的绝对位置并“正常”布局站点。您可以执行以下操作:
var imageClass = 'pic';
if(imageID) {
imageClass += imageID;
}
document.body.className = imageClass;
imageID++;
和CSS:
.pic {background-image: url(Minecraft.jpg);}
.pic1 {background-image: url(Minecraft1.jpg);}
等等
要调整背景大小,您可以选择最适合您站点的,例如:
body {
background-position: 50% 0%;
background-repeat: no-repeat;
background-size: cover cover;
}
.你的风格很好地说明,图像必须覆盖整个屏幕。根据你的意愿调整你的风格。那一点帮助都没有:P我只需要浏览器停止弄乱尺寸/位置。我需要更多的细节来回答这个问题。。请上传问题的屏幕截图,并在此处添加适用的CSS和HTML代码。您可以通过访问来查看您自己,将浏览器从最大大小上取下,将滚动条弄乱并重新调整大小。不相关,但为什么不文档。getElementById(“myimage”).src=“Minecraft”+imageID+”.jpg;我怎么能用这样的台词来概括呢?document.getElementById(“myimage”).src=“Minecraft.jpg”;document.getElementByTagName(“主体”).className=“NewClassNameGoesere”;我编辑了我原来的帖子。顺便谢谢你的帮助。希望你能帮我一劳永逸地完成这件事!