我有一个 div,点击时向右移动,然后再次点击它又回到左边(它是一个时事通讯弹出窗口)。在 Safari 和 Chrome 中一切正常,但是在 Firefox 和 IE 中它只会打开,当您再次单击时它不会关闭。我正在使用 .bind() 和 .unbind() 有什么建议吗?我正在使用 jQuery 版本 1.3.2。
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>