带有Internet Explorer 8的JQuery/CSS不显示背景图像
JQuery/CSS with Internet Explorer 8 does not show the background-image
我在JQuery(JavaScript)中有以下代码,在Chrome、Safari和Firefox中运行良好。但是,它不会在Internet Explorer 8中显示它们。可能出了什么问题?我使用960gs作为CSS框架。
// JavaScript
var site_root = "http://localhost:8080";
var banner = new Array();
banner[1] = site_root + "/images/banner-1.png";
banner[2] = site_root + "/images/banner-2.png";
banner[3] = site_root + "/images/banner-3.png";
banner[4] = site_root + "/images/banner-4.png";
banner[5] = site_root + "/images/banner-5.png";
banner[6] = site_root + "/images/banner-6.png";
var counter = 1;
$(document).ready(function() {
$('#top_banner').hide();
$('#top_banner').slideDown('slow');
var timer = setInterval(StepThroughBanners, 5000);
function StepThroughBanners() {
var link = "url(" + banner[counter] + ")";
$('#top_banner').css("background-image", link);
if(counter<6) {
counter++;
} else {
counter = 1;
}
}
});
这是我的CSS:
#top_banner {
background: #fff;
background-image: url("../images/banner-1.png");
background-repeat:no-repeat;
color: #fff;
height: 370px;
padding: 1em;
}
编辑:(添加HTML)
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<head><title><?= $title ?></title>
<!-- load style framework 960 -->
<link rel="stylesheet" type="text/css" href="<?= base_url(); ?>css/960.css" />
<link rel="stylesheet" type="text/css" href="<?= base_url(); ?>css/reset.css" />
<link rel="stylesheet" type="text/css" href="<?= base_url(); ?>css/text.css" />
<!-- load custom styles -->
<link rel="stylesheet" type="text/css" href="<?= base_url(); ?>css/custom.css" />
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.6.1/jquery.min.js" type="text/javascript" charset="utf-8"></script>
<script src="<?= base_url();?>scripts/general.js" type="text/javascript" charset="utf-8"></script>
</head>
<body>
<div class="container_16">
<div id="top_menu" class="grid_16">
<div class="menu">
<ul>
<li><a href="#">item 1</a></li>
<li><a href="#">item 2</a></li>
<li><a href="#">item 3</a></li>
<li><a href="#">item 4</a></li>
<li><a href="#">item 5</a></li>
<li><a href="#">item 6</a></li>
</ul>
</div>
<div class="tool">
<ul>
<li><a href="#">one ▾</a></li>
<li><a href="#">two ▾</a></li>
<li><a href="#">three ▾</a></li>
</ul>
</div>
<div class="search">
<form>
<input type="text" value="search..."></input>
</form>
</div>
</div>
<div class="clear"></div>
<div id="top_banner" class="grid_16"> </div>
<div class="clear"></div>
<div class="grid_4 mockup">460px</div>
<div class="grid_4 mockup"><p>460px</p></div>
<div class="grid_4 mockup"><p>460px</p></div>
<div class="grid_4 mockup">460px</div>
<div class="clear"></div>
</div>
</body>
</html>
对我来说很好。只是第一次加载图像需要时间。
尽管你应该更新这一行,只是为了确定,从:
var link = "url(" + banner[counter] + ")";
至
var link = "url('" + banner[counter] + "')";
我没有发现您的JavaScript或CSS有任何异常。为了以防万一,你可以考虑发布HTML。此外,你说这些图像不会显示。初始图像是否显示,或者图像不会旋转?
你试过在IE中进行故障排除吗?在StepThroughBanners中添加一个警报,以确保它被调用。
另一种可能性是,你可能需要指定额外的CSS属性才能在IE中呈现。也许IE对给定属性(如宽度、z索引等)的默认值与其他浏览器不同。
你也可以在IE中检查你的设置。你是在兼容模式下运行的吗?
只是一个快速的猜测,但当您生成CSS属性时,您不是缺少的吗?
您正在使用
var link = "url(" + banner[counter] + ")";
什么应该返回类似CCD_ 1的字符串。也许可以尝试使用
var link = "url('" + banner[counter] + "')";
而应该返回什么CCD_ 2。
相关文章:
- 无法使用Javascript和CSS显示/隐藏
- jQuery隐藏元素在使用CSS显示时保持隐藏状态
- 使用 JavaScript 和 CSS 显示图像
- CSS显示会影响jQuery/Javascript
- 脚本点击Css显示属性更改不正常运行Asp.net
- 使用css显示和隐藏元素不起作用
- Pandoc将HTML导出到带有CSS显示的Word:没有不起作用
- 使用CSS显示所有字符的内容可编辑单行
- 为什么javascript+CSS显示设置会使单选按钮不受欢迎
- 使用Javascript,如何在不同的HTML页面上更改CSS显示属性
- 使用 jQuery/CSS 显示/隐藏选定的表单
- CSS 显示属性不起作用
- 如何使用 JavaScript 更改 CSS 显示属性
- 通过图像和 CSS 显示背景网格
- 单击按钮时,使用 css 显示图像
- Jquery移动页面在使用css显示图像后消失
- 使用 CSS 显示隐藏项
- 当 CSS 显示“无要阻止”时,对象标记将重新加载
- 为什么我的 css 显示不规则
- 过滤器:第 n 个子项忽略 css 显示为无的位置