2016-06-27 5 views
1

У меня есть подробное представление о продуктах, и когда я нахожусь в этом подробном представлении, я могу прокрутить влево и вправо, чтобы загрузить следующий или предыдущий продукт. Я хочу анимацию с салфеткой, когда загружаю следующую анимацию и левую анимацию при загрузке предыдущего элемента. Он загружает следующий/предыдущий элемент отлично, но без анимации.jQuery mobile такой же переход страницы

var element = document.getElementById("product_detail_page"); 
var mc = new Hammer(element); 
mc.on("swipeleft", function (ev) { 
    var now_index = current_index - 1; 
    if (now_index >= 0) { 
     current_index--; 
     show_product(now_index, true); 
    } 
}); 
mc.on("swiperight", function (ev) { 
    var now_index = current_index + 1; 
    if (now_index >= 0 && now_index < products.length - 1) { 
     current_index++; 
     show_product(now_index, false); 
    } 
}); 


function show_product(index, rev) { 
var v = products[index]; 
$.mobile.changePage($("#product_detail_page"), {transition: 'slide', reverse: rev }); 
$("#product_detail_headline").text(v.product_title); 
$("#product_detail_image").attr("href", v.product_image); 
$("#product_detail_image").find("img").attr("src", v.product_image); 

$("#product_details_description").html(v.product_description); 
$("#product_details_price_text").text(v.product_price + " €"); 
$("#add_to_merkliste").attr("data-id", v.product_id); 

$(".merkliste_button_text").text("Zur Merkliste hinzufügen"); 
$("#add_to_merkliste").find("i").addClass("zmdi-star-outline").removeClass("zmdi-star").removeClass("yellow"); 


$.each(merkliste, function (index, value) { 
    if (value.product_id == v.product_id) { 
     $(".merkliste_button_text").text("Von Merkliste entfernen"); 
     $("#add_to_merkliste").find("i").addClass("zmdi-star").removeClass("zmdi-star-outline").addClass("yellow"); 
    } 
}); 

if (localStorage.getItem("show_prices") == "off") { 
    $("#product_details_price_wrapper").hide(); 
} else { 
    $("#product_details_price_wrapper").show(); 
} 

if (v.product_price.length < 1) { 
    $("#product_details_price_wrapper").hide(); 
} else { 
    $("#product_details_price_wrapper").show(); 
} 

}

ответ

1

Try:

$.mobile.changePage($("#product_detail_page"), {transition: 'slide', reverse: rev, allowSamePageTransition: true }); 

Ссылка: http://api.jquerymobile.com/jQuery.mobile.changePage/

Если вы используете jQM 1.4.x, то вы должны использовать pagecontainer виджет:

$(":mobile-pagecontainer").pagecontainer("change", "#product_detail_page", { transition: 'slide', reverse: rev, allowSamePageTransition: true }); 

Код: http://api.jquerymobile.com/pagecontainer/#method-change

Смежные вопросы