我有一個div,點擊右移,然後再次點擊,它回到左邊(它的通訊彈出)。一切都在Safari和Chrome中完美運行,但是在Firefox和IE中它只會打開,當您再次單擊時它將不會關閉。我正在使用.bind()和.unbind() 有什麼建議嗎?我正在使用jQuery版本1.3.2。.bind()JavaScript在Firefox和IE中不起作用?
FF錯誤:NS_ERROR_XPC_BAD_CONVERT_JS:無法轉換的JavaScript參數arg 0 nsIDOMWindow.getComputedStyle]
IE錯誤:SCRIPT16386:不支持此接口
的Javascript:
$(function() {
$('.newsletter').bind('click.open', open)
$(window).resize(function() {
var wWth = $(window).innerWidth(),
wHgt = $(window).innerHeight();
$('#overflow').fadeIn('slow').css({
width: wWth,
height: wHgt
});
});
});
function open() {
var overflow = $('<div id="overflow"><div>');
$(this).stop().animate({
left: '-35'
}, 650);
if ($('#overflow').length < 1) {
$('body').append(overflow);
}
var wWth = $(window).innerWidth(),
wHgt = $(window).innerHeight();
$('#overflow').fadeIn('slow').css({
width: wWth,
height: wHgt
});
$('.newsletter').unbind('click.open').bind('click.close', close)
}
function close(e) {
if ($(e.target).is('input')) return;
$('#overflow').fadeOut('slow')
$('.newsletter').stop().animate({
left: '-390px'
}, 650);
$('.newsletter').unbind('click.close').bind('click.open', open)
}
HTML
<div class="newsletter_signup">
<div id="newslettertext1">
Newsletter bestellen<br>
<br>
Lassen Sie sich per Newsletter über Neuheiten und <br>
Aktionen von Tempur informieren. Jetzt anmelden
</div>
<div id="signup">
<form id="leftnewsletter" action="" method="get">
<input type="email" name="email" id="emailsignup" placeholder="E-MAIL ADDRESS" style="margin-left:76px; margin-top:16px; width:187px;">
<input type="submit" name="signupbtn" id="signupbtn" value="SIGN UP" class="signupbutton">
</form>
</div>
<div id="newslettertext2">
*Sie können jederzeit Ihre Einwilligung zum Erhalt des<br>
Newsletters zurückziehen und sich abmelden.
</div>
你能分享相關的html也 –
原因可能是在破碎的HTML佈局(錯誤地關閉標籤)。這是瀏覽器在類似情況下行爲不同的最常見原因。 – keaukraine
這將有助於指定您正在使用的jQuery版本。 – Spudley