通过JQuery添加CSS无法在IE上运行

时间:2013-07-24 15:13:26

标签: javascript jquery css internet-explorer background-image

我正在尝试使用此功能设置背景图像:

$('#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'});
});

2 个答案:

答案 0 :(得分:0)

你的问题确实无法预测。

但以下是我的假设:

(1)当你去生产IE时,永远不要使用console.log,只有在为特定标签打开开发人员工具时才会公开控制台对象。

所以请删除console.log

(2)您指的是正确的文件夹路径吗?

(3)通常文件路径以/为前缀。所以这可能导致问题。

(4)最好有这样的事情:

var imageUrl = 'floorplans/img/selectors/floorplates-bg/'+floor+'.png';   
$('#frame').css('background-image',imageUrl);

希望你的问题存在。

答案 1 :(得分:0)

尝试将toString()功能添加到您的可变楼层。当我遇到完全相同的问题时,它对我有用; - )