jquery плъгин за създаване на слайдшоу от url адреси на изображения

Заявката е проста, но е трудна за търсене в Google. Ето изискванията:

  • Имам JS масив с URL адреси на изображения
  • Нямам никакъв резервен html
  • Искам приличен плъгин за слайдшоу, който да използва този масив и да ми даде слайдшоу
  • Слайдшоуто поддържа използване на навигация с клавиатура (бонус)

Досега съм виждал много плъгини за слайдшоу, които изискват много сложни html и css поддръжка. изглежда малко глупаво да се конструира този html, за да бъде така или иначе трансформиран от приставката за слайдшоу.

Освен това нямах представа колко лош може да бъде част от кода зад тези добавки за слайдшоу. Господи!


person mkoryak    schedule 01.09.2009    source източник
comment
за вашите специфични изисквания можете да напишете свои собствени, не трябва да е твърде трудно.   -  person Alec Smart    schedule 01.09.2009
comment
не можете ли да промените изхода според изискванията на добавките? т.е. преобразувайте o/p от масиви във всичко, което плъгинът консумира.   -  person Alec Smart    schedule 01.09.2009
comment
да, предполагам, че това е, което трябва да направя. Надявах се, че има лесен начин, който вече е направен за мен, но предполагам, че модифицирането на добре написано слайдшоу би било по-добро от хакването на едно заедно   -  person mkoryak    schedule 01.09.2009
comment
Първата стъпка не трябва да е къде е приставката за това? - първата стъпка трябва да е да мислите какво изграждате. Комбинирайте това с малко познания по jQuery и ще получите точно резултата, който искате.   -  person Andy Gaskell    schedule 01.09.2009
comment
В един идеален свят, съгласен съм, Анди, но понякога става дума само за свършване на нещата.   -  person da5id    schedule 01.09.2009
comment
@andy: първата стъпка винаги трябва да бъде да не преоткриваме колелото. Ами ако някой вече е написал абсолютно същото нещо и съм просто глупав да знам за това? след това съм съгласен с теб.   -  person mkoryak    schedule 02.09.2009


Отговори (4)


Ето нещо, което набързо събрах (изобщо не съм го тествал - само за идеи), което може да успеете да доразвиете. Не би трябвало да е трудно.

var imgs = ['a.png', 'b.png', 'c.png'];

function Slideshow(img_list, container) {
    var self = this;
    var $slides = [];
    var current = { 'ith': 0, '$slide': null };

    function initialize() {
        // Create the images
        img_list.map(function (i) {
            $slides.push($('<img>').attr('src', i).hide().appendTo(container));
        });     

        current.$slide = $slides[0];
        current.ith = 0;

        // Initialize binds (jquery hotkeys or something)
        $(document).bind('keydown', '>', function () {
            // Do stuff
            self.next();
        });

        $(document).bind('keydown', '<', function () {
            // Do stuff
            self.prev();
        });

    };

    this.indexTo = function (i) {
        current.$slide.hide();
        current.$slide = $slides[i];
        current.ith = i;

        if (current.$slide ==== undefined) {
            if (i < 0) {
                current.$slide = $slides[$slides.length - 1];
                current.ith = $slides.length - 1;
            } else {
                current.$slide = $slides[0];
                current.ith = 0;
            }
        }

        // Effects or something else
        return current.$slide.show();
    };

    this.next = function () {
        return self.indexTo(current.ith++);
    };

    this.prev = function () {
        return self.indexTo(current.ith--);
    };

    initialize();
};
person Justin Van Horne    schedule 01.09.2009
comment
Еха. Начин да отидете над и отвъд. - person Andy Gaskell; 01.09.2009
comment
Съмнявам се, че е наистина практично, но просто се опитвах да предизвикам малко мотивация - добре е да научите тези неща и да разберете структурата и пълнотата, вместо просто да предполагате, че добавките са правилният път. Виждал съм безброй ужасни добавки. Той просто трябва да оцени проблема и да адресира това, от което се нуждае. Ако е твърде сложен, тогава jQuery Cycle може да е най-добрият му залог, в противен случай би било добро изживяване да го изградите сам. Късмет. - person Justin Van Horne; 01.09.2009
comment
Хей, благодаря, че го написа. кода е добър! и нещо повече, ще бъде лесно да надграждам, тъй като имам нужда от повече неща. Благодаря много. ще изпратя представител по пътя ви - person mkoryak; 02.09.2009

Не знам за навигацията с клавиатура, но отговорът, който приех на този подобен въпрос трябва да те оправи.

РЕДАКТИРАНЕ: Току-що разбрах, че включва и навигация с клавиатура. Вижте как го внедрих за справка, ако желаете (щракнете върху раздела фолио).

person da5id    schedule 01.09.2009

Прегледайте някои от миналите статии/артикули на http://www.designfloat.com/ - има доста отлични примери на jQuery за това, което се опитвате да направите.

За разбирането,

Рене Пилон

person Community    schedule 01.09.2009

Този плъгин jQuery, наречен Cycle, е едно от най-хубавите слайдшоута, които съм виждал (това не е тип лайтбокс). Прегледах документите и изглежда, че няма поддръжка на клавиатура, нито опция за използване на масив за изображенията, но има примери за динамично добавяне на още изображения. Както и да е, преценете сами.

person Mottie    schedule 01.09.2009