こんにちは、背景画像をアニメーション化しました。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"> </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で機能しない理由:(。助けてください。ありがとう