2013-03-05 3 views
0

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

Когда я нажимаю в правом нижнем углу, я прячу текущий идентификатор, и показать следующий идентификатор.

Эта работа прекрасна, но я хочу, чтобы это сделало эффект слайда.

это мой код, когда я нажимаю на правом нижнем углу

$('#right').live('click', function(){ 
    var total=$('.elemento').length; 
    var siguiente= parseInt(actual) +1; 
    if (siguiente <= total){ 
     AlaDerecha(sig); 

    } 
}); 

и

function AlaDerecha(sig){ 
    previo = actual; 
    actual = sig; 
    $("[data-item ="+ previo + "]").hide("slide", { direction: "left" }, 1000); 
    $("[data-item ="+ actual + "]").show("slide", { direction: "right" }, 1000); 
} 

если я erease (слайд ...) на функцию AlaDerecha как этот

function AlaDerecha(sig){ 
    previo = actual; 
    actual = sig; 
    $("[data-item ="+ previo + "]").hide(); 
    $("[data-item ="+ actual + "]").show(); 
} 

он отлично работает, скрывает текущий элемент и показывает следующий, но если я помещаю эффект скольжения, текущий элемент перемещается влево, но не скрывается d следующий элемент не отображает его.

Любая идея!

благодаря

ответ

1

Первое, не используйте .live(), как это устаревшее и производит нежелательные результаты во всех браузерах. Измените код таким образом:

$('body').on('click', '#right', function(){ 
    var total=$('.elemento').length; 
    var siguiente= parseInt(actual) +1; 
    if (siguiente <= total){ 
     AlaDerecha(sig); 
    } 
}); 

Для использования слайда используйте функцию обратного вызова.

function AlaDerecha(sig){ 
    previo = actual; 
    actual = sig; 
    $("[data-item ="+ previo + "]").hide("slide", { direction: "left" }, 1000, function(){ 
     $("[data-item ="+ actual + "]").show("slide", { direction: "right" }, 1000); 
    }); 
} 
Смежные вопросы