0

うまくいけば、あなたが助けることができるかもしれません.

私のコード例:

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

私は、offset().left をキャプチャし、DIV の "stretchflex" をビュー ステートから移動した場合に解決するアルゴリズムを考え出そうとしています。

私はこれを理解するのに本当に苦労しています(簡単なビデオを見た後、今日JQueryコーディングを開始しました)。

必要な値が得られると思われる3つの変数で作業しましたが、問題は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 に答える