大家好, 不明白...我只想在使用 ie6、ie7 或 ie8 查看时在我的页面顶部显示一个栏。
<div id="topbar">
<div class="topbarcontent">Some Information for users.</div>
<div class="topbarCloser" title="Schließen"> </div>
</div>
j查询:
if ($.browser.msie && $.browser.version.substr(0,1)<9) { // if ie6 || ie7 || ie8
var topbar = $.cookie('TopBar');
if (topbar === 'on') {
$('#topbar').hide();
} else {
$('#topbar').show();
}
//Browser Tip
$('#topbar .topbarCloser').click(function() {
$(this).parent().slideUp({
duration: 300,
easing: 'easeOutQuint',
complete: function() {
$('#topbar').remove();
$.cookie('TopBar', 'on', { expires: 1000 });
}
});
});
用户可以简单地点击靠近,一个 cookie 被保存,并且该栏被隐藏以供将来访问。 (我知道这应该用数据库来完成,但在我的情况下没关系)
它在 ie8 中工作正常,但在 ie7 中,该栏会闪烁几毫秒然后被隐藏。因此,如果在 ie7 中首次访问该页面,则顶部栏应该可见,但事实并非如此。我可以看到它闪烁很快,然后就隐藏了。 (不会淡出,只是隐藏)。
知道是什么原因造成的吗?我的代码有什么奇怪的吗?
最佳答案
这可能是由您的 CSS 引起的。您的 JS 不会立即隐藏它,而您的 CSS 会使其可见。把你的案子调高。默认情况下(在 CSS 中)隐藏您的栏,然后,如有必要,使用 JavaScript 显示它。
这将防止在您的 JS 出现之前它在页面加载时可见的短暂时刻来隐藏它。
所以...
#topbar { display: none; }
这意味着您的 JS 可以读取:
if (topbar != 'on') {
$('#topbar').show();
}
关于javascript - jquery: js-cookie 在 ie7 中不工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5998136/