0

次の HTML マークアップがあります

<ul class="banner"> 
    <li class="current" id="0"><img src="images/first.png"/></li>
    <li id="1"><img src="images/second.png" /></li>
    <li id="2"><img src="images/third.png" /></li>
</ul>

最初のアイテムをスライドさせて 2 番目のアイテムに置き換えたい、などなど。最終項目は、最初の項目に「ループ バック」します。これの数学ロジックは単純です。

最初の項目は正常にスライドアウトしますが、リストは高さ 0 に「折りたたまれ」、2 番目の項目<li>はそれを置き換えません。

これが私がjQueryに持っているものです:

// GLOBALS
$currentBannerImage;
// Before page is created
$(document).delegate("#indexpage", "pagebeforecreate", function()
{
// Get non current banner images
$nonCurrentBannerListItems = $("ul.banner li").not(".current");
// Hide them
    if ($nonCurrentBannerListItems.size() > 0)
    {
        $nonCurrentBannerListItems.each(function()
        {
            $(this).hide();
        }
       $currentBannerImage = 0;
    }
});
});
// When page has successfully loaded & been inserted into DOM
$(document).delegate("#indexpage", "pagebeforecreate", function()
{
// Prevent default image dragging behavior on desktops
$("img").on("dragstart",function(dragEvent)
{
    dragEvent.preventDefault();
});

$("ul.banner li").swipeleft(function()
{
    // Get Swiped element id
    // Get Current Element
    $currentElementID = $currentBannerImage;

    $newElementID = $currentElementID+1;

    // Slide the touched element left
    $('#'+currentElementID).hide("slide", {direction: "left"},1000);
    $('#'+$newElementID).show("slide",{direction: "right"},1000);
});
});
4

0 に答える 0