javascript - jquery: js-cookie 在 ie7 中不工作?

标签 javascript jquery cookies internet-explorer-7 ie7.js

大家好, 不明白...我只想在使用 ie6、ie7 或 ie8 查看时在我的页面顶部显示一个栏。

<div id="topbar">
    <div class="topbarcontent">Some Information for users.</div>
    <div class="topbarCloser" title="Schließen">&nbsp;</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/

相关文章:

javascript - JS : Not been able to add the assertive arrays(dictionary) into their specific parent value

javascript - 自调用函数调用其他函数的问题

javascript - 将变量从 JSP 传递到 Javascript

javascript - jQuery - 我如何计算 child 并应用基于百分比的宽度

javascript - 如何从php文件向json文件添加和删除数据?

javascript - 创建支持触摸和单击的绑定(bind)

javascript - 尝试导入错误 : 'makeStyles' is not exported from '@material-ui/core/styles'

javascript - 仅当用户接受 cookie 政策时,Google 跟踪代码管理器才会触发代码

php - 我们可以根据客户的时间在php中设置一个cookie吗?

javascript - 如何在javascript中从另一个跨域url读取cookie