jquery - 动画在 IE 中不起作用,但在 Firefox 中起作用

标签 jquery css

您好,我为背景图片制作了动画。在 Firefox 中它工作正常但在 IE 上它给我错误 $(header.css(...) is null or not an object)。这是我的代码

var $header = $(".overlayBox");
$header.css("backgroundPosition", "0 0");

var bgScroll = function() {

    **var current = parseInt($header.css("backgroundPosition").split(" ")[1]),   //This is the line that IE is mentioning**      
    newBgPos = "0 " + (current - 1) + "px";
    //Finally we set the new background-position using jQuery's css() method.
    $header.css("backgroundPosition", newBgPos);

} //end of bgScroll()

setInterval(function() { bgScroll() }, 75);

为什么它在 IE 中不起作用?我也在使用覆盖。在 Firefox 中,当我单击覆盖时,覆盖消失。但是在 IE 上,当我点击覆盖时,什么也没有发生。这是这个的代码

// close it when closeLink is clicked
$('a.closeLink').click( doOverlayClose );    

function doOverlayOpen() {

    //set status to open
    isOpen = true;
    showOverlayBox();
    ...
    addEvents();

    // dont follow the link : so return false.
    return false;

} //end of doOverlayOpen()

function doOverlayClose() {

    //set status to closed
    isOpen = false;
    var test = $(".overlayBox");
    $('.overlayBox').css( 'display', 'none' );   

    $('.bgCover').animate({         //This is not working in IE
        opacity:0
    }, null, null, function() {
        $(this).hide();
    });

} //end of doOverlayClose()

function addEvents() {     //Now working in IE

    //Click out event!
    $(".bgCover").click(function(){
        doOverlayClose();
    });

    //Press Escape event!
    $(document).keypress(function(event){

        // IF Esc key press and popup is visible
        if (event.keyCode==27 && isOpen==true) {
            doOverlayClose();
        }
    }) ;

} //end of addEvents()

我还在我的div中添加了关闭链接

<div class="bgCover">&nbsp;</div>
<div class="overlayBox" style="background-image: url(../images/header.jpg)" >

    <div class="overlayContent">

        <a href="javascript:void()" class="closeLink">Close</a>
        ....

    </div>

</div>

当我在 IE 中单击关闭链接时,$('.overlayBox').css( 'display', 'none' ); 行有效但 bgcover 仍然存在,意思是 $('.bgCover').animate({}) 行不起作用。为什么这在 IE 中不起作用:(。请帮忙。 谢谢

最佳答案

这可能是 hide() 的问题,你可以尝试使用:


$('.bgCover').animate({         //This is not working in IE
        opacity:0
    }, null, null, function() {        
          $(this).attr("style", "display: none"); 
    });

希望对你有帮助

关于jquery - 动画在 IE 中不起作用,但在 Firefox 中起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10023223/

相关文章:

jquery - 关闭按钮在弹出窗口中不起作用

css - 为什么 Web Starter Kit 的视觉样式指南中没有表单?

javascript - Jquery 滚动条问题 - 调整窗口大小或打开 Firebug 解决

android TagHandler 和 CSS

javascript - Jquery模式弹出最大化模式问题

javascript - 如何显示用于测试的 jQuery 变量的值?

HTML/CSS - 让子 iframe 使用父容器的宽度(Twitter 小部件)

android - 如何将布局与 ImageView 和文本重叠在另一个布局上作为堆栈/堆

javascript - 使用 jQuery 根据条件选中/取消选中单选按钮的问题

javascript - 如何从json中获取仅数字键值对