0

希望您能提供帮助。

我的示例代码:

http://jsfiddle.net/RevengerTT/YZtyj/1/

我正在尝试制定一种算法,该算法将捕获 offset().left 并确定它是否已将 DIV“stretchflex”移出视图状态。

我真的很难理解这一点(在观看快速视频后,今天开始 JQuery 编码)。

我在三个变量中工作过,我认为应该给我需要的值,但我遇到的问题是它var z = $("#stretchflex").width()不代表 DIV 的“实际”宽度,而是它的可见宽度。

谁能看到我哪里出错了?

        $("#SFPanLeft").click(function () {
            var x = $("#SFHolder").width()
            var y = $("#stretchflex").offset().left
            var z = $("#stretchflex").width()
            $("#x").html("X : " + x.toString());
            $("#y").html("Y : " + y.toString());
            $("#z").html("Z : " + z.toString());
            if (x > (z + y)) {            /* <----This is the bit which doesn't work */
                var left = $("#stretchflex").offset().left
                left -= 176
                $("#stretchflex").css({
                    left: left + 'px'
                });
            };
        });

非常感谢您提前提供的帮助 - 想不出有多少次我通过搜索这个网站找到了我需要的答案:)

4

1 回答 1

0

想我已经整理好了。

以防万一有人发现这个...

        $("#SFPanLeft").click(function () {
            var x = $("#SFHolder").width();
            var y = $("#stretchflex").offset().left;
            var z = $("#stretchflex").get(0).scrollWidth; /* using scrollWidth fixes */
            $("#x").html("X : " + x.toString());
            $("#y").html("Y : " + y.toString());
            $("#z").html("Z : " + z.toString());
            if (x < (z + y)) {                            /* updated algorithm */
                var left = $("#stretchflex").offset().left
                left -= 176
                $("#stretchflex").css({
                    left: left + 'px'
                });
            };
        });
于 2013-07-04T18:21:41.647 回答