jquery - css 和 jQuery 之间关于滚动条和右侧的行为不一致 :0px in Firefox

标签 jquery css firefox

我有this fiddle如果你在 Chrome 或 IE 中查看它,效果很好。您只需单击橙色框,该框就会滑出,再次单击,它会返回到原来的位置。

但是,如果您在 Firefox 中查看它(确保滚动条显示在右下框架中),则定位该框的 CSS

right: -290px;

按照我的预期设置相对于滚动条左边缘的位置...

但是 jQuery(注意 =-290px 应该将其重置到第二次单击时的位置)

$('#slideClick').toggle(function() {
                $(this).parent().animate( { right: '0px' }, {queue:false, duration: 500});
            }, function() {
                $(this).parent().animate( { right: '-290px' }, {queue:false, duration: 500});
            });

设置相对于滚动条右边缘的位置,产生 17px 的不一致。

这是一个已知的错误,还是我只是在某个地方弄错了。如果是错误,解决方法是什么?

最佳答案

这也会起作用。我也遇到过类似的问题,Firefox 处理滚动条的方式不同。此解决方案不适用于 JQuery 1.9 及更高版本。您现在应该使用特征检测http://api.jquery.com/jQuery.support/但我还没有深入探讨这一点。希望这有帮助:)

    jQuery(function($) {
        $('#slideClick').toggle(function() {
            $(this).parent().animate( { right: '0px' }, {queue:false, duration: 500});
        }, function() {
            if ($.browser.mozilla && ($(document).height() > $(window).height()))
            {
                $(this).parent().animate({right: '-275px'},500);
            }
            else $(this).parent().animate( { right: '-290px' }, {queue:false, duration: 500});
        });
    });

关于jquery - css 和 jQuery 之间关于滚动条和右侧的行为不一致 :0px in Firefox,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16576845/

相关文章:

jquery - 检查列表项是否没有特定文本

javascript - 引用不在作用域内的变量

jquery - 当灯箱打开时停止 fullpage.js 滚动,然后在灯箱关闭时重新启用

css - 改变相对固定的位置,反之亦然

performance - 在WebKit中有效循环大量固定位置图像的最佳方法是什么?

JavaScript 类型错误 : xxx is not a function

css - 如何在 CSS 中使 DIV 捕捉到网格?

javascript - 按下其他按钮后无法第二次按下按钮以激活旋转

image - firefox 在 png 的内容框边缘以特定宽度呈现灰色细线 - 为什么?

css - 在发布新版本的 Chrome 和 Firefox 后,在输入字段中写入光标可以让这些光标位于顶部