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

Use Kendo UI Flip Effects / Combined Effects for multiple items on the same page

本文关键字:UI 翻转 组合 一页 项目      更新时间:2023-09-26

我需要使用 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>

问题是我需要页面上的多个面板,如何使每个"正面"和"背面"单击唯一。

   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();
});

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

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

flip.stop().play();替换为

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