Я пытаюсь сбросить флэш-контент в моем слайдере, работающем на плагине jQuery Cycle.
Что я хочу сделать:
- заменить каждый ".flash" в предыдущем ".slide "с пустым div,
- заменить созданный пустой div предыдущими данными .flash.
Я знаю, это звучит глупо, но это удивительный способ сброса рабочего флэш-содержимого,лучшая альтернатива (удаление и добавление) вызывает много проблем со стилем, и я не хочу использовать любой swfobject.js и другие API.Конечно, скрытие тоже не вариант.
Все отлично работает, используя обратный вызов "after", предоставляемый Cycle Plugin, но почему-то я не могу получить исходный контент .flash, последнюю строку моего обратного вызова.функция просто ничего не делает, и .flash постоянно заменяется пустым div:
jQuery("#slider").cycle({
after: callbackAfter,
});
function callbackAfter(){
var FlashContent = jQuery(this).prev('.slide').find('.flash'); //find any flash content in previous slide
var FlashContentHolder = jQuery("<div></div>"); //place empty div instead
FlashContent.replaceWith(FlashContentHolder ); //replace the flash content with empty div
FlashContent.replaceWith(FlashContent); //This doesn't work - replace the empty div with stored flash content
}
Проблема в последней строке, которая не отображает оригинальный FlashContent.
Я пытался установить переменные FlashContent и FlashContentHolder из функции для изменения области видимости, но это не главное, я думаю, что первая строка - это проблема, потому что я удаляю что-то, а затем ищу его, поэтому я ничего не получаю вreturn?
Эта функция работает и делает именно то, что мне нужно (но не отображает .flash видео в исходных позициях, и я не могу использовать абсолютное позиционирование):
function callbackAfter(){
var stopFlash = jQuery(this).prev('div').find('.flash').remove();
jQuery(this).prev('div').append(stopFlash);
}
Это на самом деле работает с небольшой проблемой (см. Выше).
Есть идеи?