長年のユーザー、初めてのポスター。
基本的に、私はさまざまな場所に一連のキオスクを持っており、「液体」を使用して、場所に関連付けられたすべてのバウチャーを自動的にリストに入れるバウチャー システムを持っています。また、このコードを使用して、10 エントリごとに新しいリストを開始しています。次に、jQuery を使用して、リスト間をスライドするスクローラーを追加しました。このコードは非常に単純です。
{% for voucher in vouchers %}
{% capture modulus %}{{ forloop.index0 | mod:10 }}{% endcapture %}
{% if forloop.index0 != 0 %}
{% if modulus == "0" %}
</ul></li><li><ul class="voucherlist">
{% endif %}
{% endif %}
<div id="{{ voucher.meta }}" class="voucher_list">
<li><a href="{{ 'voucher' | url_for_page : voucher.id }}">{{ voucher.meta }}</a></li>
</div>
{% endfor %}
ただし、リスト内の一部の伝票は複数回表示されます。これは、バウチャーが 3 つのカテゴリに分割されており、一部がクロスオーバーする可能性があるためです。いくつかの場所があるため、キーやタグなどをバウチャーに追加して、別の場所で表示したい場合があるため、表示を停止することはできません. さらに、それぞれを手動で調整する必要があり、このシステムのポイントは可能な限り自動化することです。したがって、私はかなり満足しているいくつかの jquery を使用しました。
<script type="text/javascript">
$(document).ready(function () {
$('[id]').each(function () {
var ids = $('[id=' + this.id + ']');
if (ids.length > 1 && ids[0] == this) {
$(ids[1]).remove()
}
});
});
</script>
このことから、div id にバウチャー名を使用したことがわかり、jquery は同じ id を持つ div をすべて削除します。ただし、スペースが残っているため、一部のページでは 10 ではなく 8 がオンになっています。したがって、私の質問にたどり着きます。スペースを残さずに Liquid リスト内の重複を削除するにはどうすればよいですか?
「.remove()」を「.hide()」に変更しようとしましたが、使用できません。に変更しました
.addClass( "duplicate" )
次に、液体に行を追加して次のようなことを言うことを期待して
{% if div.class != "duplicate" %}
したがって、「重複」の div を持つものは使用しません。それはいいでしょう。しかし、それを行うためのコードが見つからないか、それが可能かどうかさえわかりません。ここではすべての角度をカバーし、できる限りすべてを説明しようとしました。私はとても近いですが、別の視点がうまくいくかもしれませんか、それとももっと簡単な方法はありますか? 私は正しい軌道に乗っていますか?どんなアイデアでも大歓迎です。
編集:これをさらに説明するための画像を次に示します。http://img683.imageshack.us/img683/6295/voucherpagehelp.jpg また、スクロール システムの説明に役立つ、どこかから引っ張ってきたコードをもう少し追加しました。申し訳ありませんが、これは以前は明確ではありませんでした。
前もって感謝します。