对同一页面上的多个项目使用Kendo UI翻转效果/组合效果

时间:2015-01-31 20:59:15

标签: javascript jquery kendo-ui

我需要使用kendo ui来显示6到60个项目。每个都使用翻转效果http://demos.telerik.com/kendo-ui/fx/combined

将使用如下唯一ID从数据库加载产品:

<div class="row">
<div class="col-md-4 product-container">
    <div id="productID1" class="productID">
        <div class="product">
            <div id="product-back1" class="product-desc">
                <p>BACK</p>
            </div>
            <div id="product-front1" class="product-image">
                <p>FRONT</p>
            </div>
        </div>
    </div>
</div>
<div class="col-md-4 product-container">
    <div id="productID2" class="productID">
        <div class="product">
            <div id="product-back2" class="product-desc">
                <p>BACK</p>
            </div>

            <div id="product-front2" class="product-image">
                <p>FRONT</p>
            </div>
        </div>
    </div>
</div>
<div class="col-md-4 product-container">
    <div id="productID3" class="productID">
        <div class="product">
            <div id="product-back3" class="product-desc">
                <p>BACK</p>
            </div>
            <div id="product-front3" class="product-image">
                <p>FRONT</p>
            </div>
        </div>
    </div>
</div>

问题是我需要在页面上使用多个面板,我如何才能制作每个面板?#34;和&#34;返回&#34;点击唯一。

   var el = kendo.fx($('div[id^=productID]')),
    flip = el.flip("horizontal", $('div[id^=product-front]'), $('div[id^=product-back]')),
    zoom = el.zoomIn().startValue(1).endValue(1);

flip.add(zoom).duration(200);

$('div[id^=product-front]').click(function () {
    flip.stop().play();
});

$('div[id^=product-back]').click(function () {
    flip.stop().reverse();
});

我已经尝试将每个项目加载到一个数组中但是没有找到一个好的方法来确保正确的项目会被翻转。

1 个答案:

答案 0 :(得分:1)

由于每个div[id^=product-front]都是div[id^=productID]的孩子,因此您可以找到其子女并使用它。

替换flip.stop().play();
kendo.fx($(this)).flip("horizontal", $(this).children()[0], $(this).children()[1]).stop().play();