Превратить Z-индексы цикла JQuery в отрицательные значения - PullRequest
0 голосов
/ 23 декабря 2011

Цикл Jquery работает с z-index и непрозрачностью для обновления текущего изображения.

z-index: 1,2,3,4, ...

, и мне нужно -1, -2, -3, -4, -5, ... (отрицательно)

Это единственный фрагмент кода, который я видел здесь http://toniweb.us/gm/js/cycle.js, связанный с z-index

$.fn.cycle.transitions = {
    fade: function($cont, $slides, opts) {
        $slides.not(':eq(0)').hide();
        opts.cssBefore = { opacity: 0, display: 'block' };
        opts.cssAfter  = { display: 'none' };
        opts.animOut = { opacity: 0 };
        opts.animIn = { opacity: 1 };
    },
    fadeout: function($cont, $slides, opts) {
        opts.before.push(function(curr,next,opts,fwd) {
            $(curr).css('zIndex',opts.slideCount + (fwd === true ? 1 : 0));
            $(next).css('zIndex',opts.slideCount + (fwd === true ? 0 : 1));
        });
        $slides.not(':eq(0)').hide();
        opts.cssBefore = { opacity: 1, display: 'block', zIndex: 1 };
        opts.cssAfter  = { display: 'none', zIndex: 0 };
        opts.animOut = { opacity: 0 };
    }
};

Я пытался изменить + на - но, похоже, продолжает работать так же ..

$.fn.cycle.transitions = {
    fade: function($cont, $slides, opts) {
        $slides.not(':eq(0)').hide();
        opts.cssBefore = { opacity: 0, display: 'block' };
        opts.cssAfter  = { display: 'none' };
        opts.animOut = { opacity: 0 };
        opts.animIn = { opacity: 1 };
    },
    fadeout: function($cont, $slides, opts) {
        opts.before.push(function(curr,next,opts,fwd) {
            $(curr).css('zIndex',opts.slideCount - (fwd === true ? 1 : 0));
            $(next).css('zIndex',opts.slideCount - (fwd === true ? 0 : 1));
        });
        $slides.not(':eq(0)').hide();
        opts.cssBefore = { opacity: 1, display: 'block', zIndex: -1 };
        opts.cssAfter  = { display: 'none', zIndex: 0 };
        opts.animOut = { opacity: 0 };
    }
};

Есть идеи как?

кстати

$(curr).css('zIndex',opts.slideCount - (fwd === true ? 1 : 0));

это означает opts.slideCount-1, если fwd == true, и opts.slideCount + 1, если false, верно?

1 Ответ

1 голос
/ 23 декабря 2011

Попробуйте изменить его на:

$(curr).css('zIndex', '-' + (opts.slideCount + (fwd === true ? 1 : 0)));
$(next).css('zIndex', '-' + (opts.slideCount + (fwd === true ? 0 : 1)));
...