【发布时间】:2014-01-16 05:41:50
【问题描述】:
我正在尝试使用此功能设置背景图像:
$('#frame').css('background-image','url(floorplans/img/selectors/floorplates-bg/'+floor+'.png)');
其中 floor 是一个包含 1-7 数字的变量。
它适用于 Chrome、Safari 和 Firefox。但是在 IE 上它没有设置背景图像。 .css(); 可以在 IE 上运行吗?
编辑:这是整个脚本:
$('#secondary-nav li').click(function(){
var floor = $(this).attr('id').replace('f','');
$('#frame').fadeOut(200);
$('#secondary-nav li').removeClass('current');
var currentFloor = '';
setTimeout(function() {
currentFloor = '#f' + floor;
$(currentFloor).addClass('current');
$('.units').css('display','none');
var image = 'url(floorplans/img/selectors/floorplates-bg/'+floor+'.png)';
$('#frame').css('background-image', image);
$('#frame').fadeIn(200);
$('#floor'+floor).fadeIn(200);
}, 500);
});
// highlight on mouseover
$(".units div a").hover(
function(){
$('img',this).stop().animate({'opacity':0},200);
},
function(){
$('img',this).stop().animate({'opacity':1},200);
}
);
// display floorplan
$('.units div').each(function(i){
var floor = $(this).parent().attr('id').replace('floor','');
var unit = floor + $(this).attr('class').replace('u','');
var details = $('a',this).attr('title');
var group = $('a',this).attr('class').replace('i','');
$(this).click(function(){
$('#details .info h1').html('Unit '+unit);
$('#details .info h2').html(details);
$('#details .info a').attr('href','floorplans/downloads/'+group+'.pdf');
$('#details .floorplate img').attr('src','floorplans/img/floorplans/floorplates/Unit-'+unit+'.png');
$('#details .floorplan img').attr('src','floorplans/img/floorplans/'+group+'.png');
});
$(this).fancybox({'href':'#details'});
});
【问题讨论】:
-
这是一个延伸,但是:如果你将实际的 URL 用双引号括起来会怎样?
-
展示你的“地板”数学。可能是IE的计算问题
-
是的,
.css()在 IE 中工作。你用的是什么版本的jQuery? -
永远不要在 IE 中使用
console.log。删除它,将工作。 -
@user1671639,@sayra90 您可以在开发模式下使用
console.log,前提是您记得在 IE 中测试时打开开发人员工具栏,console.log只有在没有开发栏时才会终止处理打开
标签: javascript jquery css internet-explorer background-image