[英]show background-image based on screen resolution almost works
我正在尝试使用3种不同尺寸的图像作为全屏背景; 每3种不同的屏幕分辨率都需要一张图像。 除初始负载外,它均有效。
在背景图像下面的代码中显示,但始终在初始加载时显示screen.availWidth = 1360
的图像。 如果您浏览到另一个页面,则可以正常工作。
也许有些事情没有在$(document).ready
准备好。
我肯定会对此有所帮助。
这是代码:
<head>
<style>
#bkgrnddiv {
min-width:100%;
min-height:100%;
margin:0;
padding:0;
background-position:center top;
background-repeat:no-repeat;
overflow:hidden;
}
.bg1280_index{
background-image:url('img1280/index.jpg');
}
.bg1360_index{
background-image:url('img1360/index.jpg');
}
.bg1920_index{
background-image:url('img1920/index.jpg');
}
</style>
<script type="text/javascript">
$(document).ready(function(){
var url = window.location.pathname;
var pageName = url.substring(url.lastIndexOf('/') + 1);
pageName = pageName.substring(0, pageName.length - 4);
if(screen.availWidth <= 1280) {
$('#bkgrnddiv').removeClass("bg1360_" + pageName);
$('#bkgrnddiv').removeClass("bg1920_" + pageName);
$('#bkgrnddiv').addClass("bg1280_" + pageName);
} else {
if(screen.availWidth <= 1366) {
$('#bkgrnddiv').removeClass("bg1280_" + pageName);
$('#bkgrnddiv').removeClass("bg1920_" + pageName);
$('#bkgrnddiv').addClass("bg1360_" + pageName);
} else {
$('#bkgrnddiv').removeClass("bg1280_" + pageName);
$('#bkgrnddiv').removeClass("bg1360_" + pageName);
$('#bkgrnddiv').addClass("bg1920_" + pageName);
}
}
});
</script>
</head>
<body>
<div id="bkgrnddiv" class="bg1360">
<!-- content -->
</div>
</body>
也许考虑使用CSS 3 Media Queries解决方案?
@media screen and (max-width: 1280px)
{
#bkgrnddiv {
background-image: url('img1280/index.jpg');
}
}
@media screen and (max-width: 1360px)
{
#bkgrnddiv {
background-image: url('img1360/index.jpg');
}
}
@media screen and (max-width: 1920px)
{
#bkgrnddiv {
background-image: url('img1920/index.jpg');
}
}
问题是我试图从仅包含IP的初始负载中捕获页面名称。 所以现在我测试页面名称==空字符串。 我还消除了其他背景类。
<head>
<style>
#bkgrnddiv {
min-width:100%;
min-height:100%;
margin:0;
padding:0;
background-position:center top;
background-repeat:no-repeat;
overflow:hidden;
}
</style>
<script type="text/javascript">
$(document).ready(function(){
var url = window.location.pathname;
var pName = url.substring(url.lastIndexOf('/') + 1);
if(pName == ''){
pName = 'index.php';
}
pName = pName.substring(0, pName.length - 4) + ".jpg";
if(window.screen.availWidth <= 1280) {
$('#bkgrnddiv').css('backgroundImage', 'url(images1280/' + pName + ')');
} else {
if(window.screen.availWidth <= 1366) {
$('#bkgrnddiv').css('backgroundImage', 'url(images1360/' + pName + ')');
} else {
$('#bkgrnddiv').css('backgroundImage', 'url(images1920/' + pName + ')');
}
}
});
</script>
</head>
<body>
<div id="bkgrnddiv">
<!-- content -->
</div>
</body>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.