私はこのフィドルを作りました: http://jsfiddle.net/GMH6q/2/
HTML:
<div class="feature" id="about">about</div>
<div class="feature" id="services">services</div>
<div class="feature" id="products">products</div>
<label>About</label><input type="checkbox" data-id="about" />
<label>Services</label><input type="checkbox" data-id="services" />
<label>Products</label><input type="checkbox" data-id="products" />
JavaScript:
$(document).ready(function(){
var priority = {'about':1, 'services':2, 'products':3};
$('input[type="checkbox"]').change(function(){
var el = $(this).attr('data-id');
if($(this).is(':checked')){
$('.feature').hide();
$('.feature#' + el).show();
} else {
$('.feature#' + el).hide();
}
});
});
がオンの場合about
、他のチェックボックスをクリックしても何の効果もありません。
同様に、services
がオンの場合、オンにproducts
しても何の効果もありませんが、挿入about
すると が表示されabout
ます。
すべてがオンの場合は、about
表示されます。
すべてがオフの場合、何も表示されません。
優先度配列を何らかの方法で統合する必要がありますが、その方法がわかりません。誰かがいくつかのロジックと配列の統合を手伝ってくれたら、それは素晴らしいことです!