Создайте функцию jquery для вызова другой существующей ранее функции с пользовательскими переменными - PullRequest
1 голос
/ 11 января 2012

У меня есть эта функция

$(window).load(function() {
    $("#slider").carouFredSel({

        items: {
            visible: 1,
            width: "auto"
        },
        auto: false,
        scroll: {
            fx: "fade",
            duration: "1500"
        },
        prev: {
            button: ".prev",
            key: "left"
        },
        next: {
            button: ".next",
            key: "right"
        }
    });

    var ratio = 1;
        $(window).resize(function() {
        var s = $("#slider");
        s.add( s.parent() ).height( s.children().first().height() * ratio )
    });

    $("#slider").trigger("updateSizes");

});

Я изменил значения по умолчанию, чтобы настроить свой ползунок.Я использую меню навигации, которое вызывает HTML-страницу, вот так.

$("#graphic").click(function() {
        $("#slider").fadeOut( 1000, function() {
            $("#slider").load("graphic.html", function() {
                $("#slider").fadeIn(1000, function() {
                    $("#slider").carouFredSel();
                });
            });
        });
    });

Моя проблема в том, что когда я вспоминаю .carouFredSel (); я получаю настройки по умолчанию.Я хочу создать функцию .mySlider (), которая читает вышеуказанную функцию с ее пользовательскими переменными.

Имеет ли это смысл?

1 Ответ

1 голос
/ 11 января 2012

Возможно, речь идет не о создании другой функции, а о проблеме, с которой вы столкнулись. Почему бы вам не попробовать сохранить настройки в переменной и использовать ее в обоих местах, где вы вызываете .carouFredSel ().Вот что я имею в виду:

var settings={

    items: {
        visible: 1,
        width: "auto"
    },
    auto: false,
    scroll: {
        fx: "fade",
        duration: "1500"
    },
    prev: {
        button: ".prev",
        key: "left"
    },
    next: {
        button: ".next",
        key: "right"
    }
}

И в $ (winodw) .load () используйте, как показано ниже:

$(window).load(function() {
$("#slider").carouFredSel(settings); //continue rest....

А также в $ ("# graphic")Функция .click () использует переменную настроек, как показано ниже:

$("#graphic").click(function() {
    $("#slider").fadeOut( 1000, function() {
        $("#slider").load("graphic.html", function() {
            $("#slider").fadeIn(1000, function() {
                $("#slider").carouFredSel(settings);
            });
        });
    });
});

Просто убедитесь, что область видимости переменной настроек в порядке, чтобы вы могли получить к ней доступ в обоих местах.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...