ScrollTop函数不能与firefox一起使用

时间:2015-02-17 10:06:43

标签: jquery firefox scrolltop

我正在网页上打开一个弹出窗口,从窗口顶部轻松进入双胞胎。我使用scrollTop函数在弹出位置应用弹出窗口。 即,当点击一个按钮时,它会在寡妇的滚动位置显示。

问题是它在“谷歌浏览器”中运行良好,但在Firefox中它甚至都没有显示。

这是我的jquery代码......

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/gsap/1.15.0/TweenMax.min.js"></script>
<script>
    $(document).ready(function () {
        var $obj = $(".modal")
                , $overlay = $(".modal-overlay")
          , blur = $("#blur-filter").get(0)
        ;

        function setBlur(v) {
            blur.setAttribute("stdDeviation", v);
        }
        function getPos() {
            return $obj.position();
        }

        var lastPos = getPos();
        function update() {
            var pos = getPos();
            var limit = 20;
            var dx = Math.min(limit, Math.abs(pos.left - lastPos.left) * 0.5);
            var dy = Math.min(limit, Math.abs(pos.top - lastPos.top) * 0.5);
            setBlur(dx + "," + dy);

            lastPos = pos;
            requestAnimationFrame(update);
        }
        update();

        var isOpen = false;
        function openModal() {
            /*$overlay.css({
              display:"block"
            })*/

            TweenMax.to($overlay, 0.1, { autoAlpha: 1 });

            TweenMax.fromTo($obj, 0.6, { y: -($(window).height() + $obj.height() - $(window).scrollTop()) }, { delay: 0.2, y: $(window).scrollTop(), ease: Elastic.easeOut, easeParams: [1.1, 0.7], force3D: true });
        }
        function closeModal() {
            TweenMax.to($overlay, 0.1, { delay: 0.55, autoAlpha: 0 });
            TweenMax.to($obj, 0.55, { y: $(document).height() + $obj.height(), ease: Back.easeIn, force3D: true });
        }
        $(".open-modal").click(function () {
            openModal();
        })
        $(".close-modal,.modal-overlay").click(function () {
            closeModal();
        })

    })
</script>

1 个答案:

答案 0 :(得分:0)

你的Javascript工作正常;

filter: url("#blur")

似乎不起作用。将其删除或尝试将其替换为模糊滤镜的Firefox' standard implementation