Произошла ошибка.
Пожалуйста, обновите страницу.
Fly.js > Документация > Общие > $(...).scrollX()

$(...).scrollX()

Возвращает или устанавливает положение горизонтальной прокрутки для узлов текущей FlyNode.

#Общие #Измерения

$(...).scrollX()
$(...).scrollX(value)

                    FlyDomNode: {
                        __constructor: function(context) {
                            var array = fnNodeList.makeDomNodeArray(context);
                            for (var a = 0, al = array.length; a < al; a++) {
                                this[a] = array[a];
                            }
                            this.length = al;
                        },

                        size: function() {
                            return this.length;
                        },

                        get: function(index) {
                            return $.isNumber(index) ? this[index] : [].slice.call(this);
                        },

                        addNode: function(flyNode) {
                            return fnNodeList.changeNodeContext(this, flyNode, function(child, context) {
                                context.indexOf(child) === -1 && context.push(child);
                            });
                        },

                        removeNode: function(flyNode) {
                            return fnNodeList.changeNodeContext(this, flyNode, function(child, context) {
                                var position = context.indexOf(child);
                                if (position !== -1) context.splice(position, 1);
                            });
                        },

                        eq: function(index) {
                            if (index < 0) index = index + this.length;
                            return new this.__self(this[index]);
                        },

                        lt: function(index) {
                            return new this.__self(this.slice(0, index));
                        },

                        gt: function(index) {
                            return new this.__self(this.slice(index));
                        },

                        last: function(selector) {
                            var element = this[this.length - 1];
                            return new this.__self(fnStyle.isMatch(element, selector) ? element : []);
                        },

                        first: function(selector) {
                            var element = this[0];
                            return new this.__self(fnStyle.isMatch(element, selector) ? element : []);
                        },

                        normalize: function() {
                            return fnNodeList.transformNodeContext(this, function(item, context) {
                                if ($.isNode(item)) context.push(item);
                            });
                        },

                        each: function(callback, context) {
                            $.each(this, callback, context);
                            return this;
                        },

                        name: function() {
                            return this[0].tagName.toLowerCase() || null;
                        }
                    }
                

При использовании этого метода учтите, что положение прокрутки - это позиция левого края видимой области. Отсюда следует вывод, что максимальное значение для этой величины равно разности ширины прокрутки и ширины элемента.

$(...).scrollX()
Возвращает: Null 0 or Object {}

Возвращает информацию о горизонтальной прокрутке для первого узла в текущей FlyNode.

Если текущая FlyNode пустая, то метод вернёт null. Если же в ней есть узлы, то $(...).scrollX() вернёт объект со свойствами left (горизонтальное смещение прокрутки в пикселах) и width (вся ширина прокрутки).

Для объектов document, document.documentElement и window свойство left будет равняться положению прокрутки страницы, а width - общей ширине документа.

Пример: Получение информации о горизонтальной прокрутке.

<!DOCTYPE html>
    <head>
        <meta charset="utf-8"/>
        <title>Fly.js - $(...).scrollX()</title>

        <script src="/scripts/fly.js"></script>
    </head>
    <body>
        <button>Get info about horizontal scroll!</button>

        <div style="border:2px red solid; height:75px; width:200px; overflow:auto">
            <p style="margin:0; width:500px; text-align:right">
                Hello world!
            </p>
        </div>

        <b></b>

        <script>
            $('button').on('click', function() {
                var scrollInfo = $('div').scrollX();
                $('b').html([
                    'Width is ' + scrollInfo.width + 'px',
                    'Left is ' + scrollInfo.left + 'px'
                ].join('<br/>'));
            });
        </script>
    </body>
</html>

$(...).scrollX(value)
Возвращает: FlyNode [$]

Устанавливает положение горизонтальной прокрутки в заданное значение для каждого узла текущей FlyNode.

value: Number 123

Положение прокрутки в пикселах.

Значение value всегда измеряется в пикселах и является числом, а не строкой с единицами измерения.

Для объектов document, document.documentElement и window новое значение будет применено к прокрутке страницы.

Пример: Установка прокрутки в случайное положение.

<!DOCTYPE html>
    <head>
        <meta charset="utf-8"/>
        <title>Fly.js - $(...).scrollX()</title>

        <script src="/scripts/fly.js"></script>

        <style>
            p {
                border: 2px red solid;
                height: 50px; width: 150px;
                float: left; margin: 10px;
                overflow: auto; white-space: nowrap;
            }
        </style>
    </head>
    <body>
        <div style="height:80px">
            <p>A B C D E F G H I J K L M N O P Q R S T U V W X Y Z</p>
            <p>A B C D E F G H I J K L M N O P Q R S T U V W X Y Z</p>
        </div>
        <button>Set horizontal scroll!</button>

        <script>
            $('button').on('click', function() {
                $('p').each(function() {
                    var $this = $(this),
                        info = $this.scrollX(),
                        random = $.random(info.width - $this.width());

                    $this.scrollX(random);
                });
            });
        </script>
    </body>
</html>