2015-03-30 2 views
0

Кто-нибудь знает, как установить изотоп с переключателем и флажками?Фильтр изотопов и радио

У меня есть Ex:

Пол = мужской/женский (кнопка радио)

язык = арабский, английский, французский (флажков)

Страна = ОАЭ, США, и т.д. ... (Флажки)

заранее спасибо

+0

Попробуйте [это] (http://codepen.io/desandro/pen/btFfG) для флажков и [это] (http://codepen.io/desandro/pen/qlwyL) для радиолюбителей – Sukanya

+0

Спасибо за быстрый повтор .. Но я пробовал, но его не фильтрую .. см. http://codepen.io/re5ive/pen/pvYOwR –

+0

Сделайте F12 и увидьте ошибку. Он говорит, что createContent не определен. – Sukanya

ответ

2

$(function() { 
 
    // init Isotope 
 
    var $grid = $('.grid').isotope({ 
 
    itemSelector: '.element-item', 
 
    layoutMode: 'fitRows' 
 
    }); 
 
    // filter functions 
 
    var filterFns = { 
 
    // show if number is greater than 50 
 
    numberGreaterThan50: function() { 
 
     var number = $(this).find('.number').text(); 
 
     return parseInt(number, 10) > 50; 
 
    }, 
 
    // show if name ends with -ium 
 
    ium: function() { 
 
     var name = $(this).find('.name').text(); 
 
     return name.match(/ium$/); 
 
    } 
 
    }; 
 

 
    // bind filter on radio button click 
 
    $('.filters').on('click', 'input', function() { 
 
    // get filter value from input value 
 
    var filterValue = this.value; 
 
    // use filterFn if matches value 
 
    filterValue = filterFns[ filterValue ] || filterValue; 
 
    $grid.isotope({ filter: filterValue }); 
 
    }); 
 
    
 
});
* { 
 
    -webkit-box-sizing: border-box; 
 
    -moz-box-sizing: border-box; 
 
      box-sizing: border-box; 
 
} 
 

 
body { 
 
    font-family: sans-serif; 
 
} 
 

 
label { 
 
    display: inline-block; 
 
    margin-right: 0.4em; 
 
} 
 

 
/* ---- isotope ---- */ 
 

 
.grid { 
 
    border: 1px solid #333; 
 
} 
 

 
/* clear fix */ 
 
.isotope:after { 
 
    content: ''; 
 
    display: block; 
 
    clear: both; 
 
} 
 

 
/* ---- .element-item ---- */ 
 

 
.element-item { 
 
    position: relative; 
 
    float: left; 
 
    width: 100px; 
 
    height: 100px; 
 
    margin: 5px; 
 
    padding: 10px; 
 
    background: #888; 
 
    color: #262524; 
 
} 
 

 
.element-item > * { 
 
    margin: 0; 
 
    padding: 0; 
 
} 
 

 
.element-item .name { 
 
    position: absolute; 
 

 
    left: 10px; 
 
    top: 60px; 
 
    text-transform: none; 
 
    letter-spacing: 0; 
 
    font-size: 12px; 
 
    font-weight: normal; 
 
} 
 

 
.element-item .symbol { 
 
    position: absolute; 
 
    left: 10px; 
 
    top: 0px; 
 
    font-size: 42px; 
 
    font-weight: bold; 
 
    color: white; 
 
} 
 

 
.element-item .number { 
 
    position: absolute; 
 
    right: 8px; 
 
    top: 5px; 
 
} 
 

 
.element-item .weight { 
 
    position: absolute; 
 
    left: 10px; 
 
    top: 76px; 
 
    font-size: 12px; 
 
} 
 

 
.element-item.alkali   { background: #F00; background: hsl( 0, 100%, 50%); } 
 
.element-item.alkaline-earth { background: #F80; background: hsl( 36, 100%, 50%); } 
 
.element-item.lanthanoid  { background: #FF0; background: hsl( 72, 100%, 50%); } 
 
.element-item.actinoid  { background: #0F0; background: hsl(108, 100%, 50%); } 
 
.element-item.transition  { background: #0F8; background: hsl(144, 100%, 50%); } 
 
.element-item.post-transition { background: #0FF; background: hsl(180, 100%, 50%); } 
 
.element-item.metalloid  { background: #08F; background: hsl(216, 100%, 50%); } 
 
.element-item.diatomic  { background: #00F; background: hsl(252, 100%, 50%); } 
 
.element-item.halogen   { background: #F0F; background: hsl(288, 100%, 50%); } 
 
.element-item.noble-gas  { background: #F08; background: hsl(324, 100%, 50%); }
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<script src="http://mfzy.co/isotope.pkgd.js"></script> 
 

 
<h1>Isotope - filtering with radio inputs</h1> 
 

 
<p class="filters"> 
 
    <label> 
 
    <input type="radio" name="filter" value="*" checked="checked" /> show all 
 
    </label> 
 
    <label> 
 
    <input type="radio" name="filter" value=".metal" /> metal 
 
    </label> 
 
    <label> 
 
    <input type="radio" name="filter" value=".transition" /> transition 
 
    </label> 
 
    <label> 
 
    <input type="radio" name="filter" value=".alkali, .alkaline-earth" /> alkali &amp; alkaline-earth 
 
    </label> 
 
    <label> 
 
    <input type="radio" name="filter" value=":not(.transition)" /> not transition 
 
    </label> 
 
    <label> 
 
    <input type="radio" name="filter" value="numberGreaterThan50" /> number > 50 
 
    </label> 
 
    <label> 
 
    <input type="radio" name="filter" value="ium" /> name ends with &ndash;ium 
 
    </label> 
 
</p> 
 

 
<div class="grid"> 
 
    <div class="element-item transition metal " data-category="transition"> 
 
    <h3 class="name">Mercury</h3> 
 
    <p class="symbol">Hg</p> 
 
    <p class="number">80</p> 
 
    <p class="weight">200.59</p> 
 
    </div> 
 
    <div class="element-item metalloid " data-category="metalloid"> 
 
    <h3 class="name">Tellurium</h3> 
 
    <p class="symbol">Te</p> 
 
    <p class="number">52</p> 
 
    <p class="weight">127.6</p> 
 
    </div> 
 
    <div class="element-item post-transition metal " data-category="post-transition"> 
 
    <h3 class="name">Bismuth</h3> 
 
    <p class="symbol">Bi</p> 
 
    <p class="number">83</p> 
 
    <p class="weight">208.980</p> 
 
    </div> 
 
    <div class="element-item post-transition metal " data-category="post-transition"> 
 
    <h3 class="name">Lead</h3> 
 
    <p class="symbol">Pb</p> 
 
    <p class="number">82</p> 
 
    <p class="weight">207.2</p> 
 
    </div> 
 
    <div class="element-item transition metal " data-category="transition"> 
 
    <h3 class="name">Gold</h3> 
 
    <p class="symbol">Au</p> 
 
    <p class="number">79</p> 
 
    <p class="weight">196.967</p> 
 
    </div> 
 
    <div class="element-item alkali metal " data-category="alkali"> 
 
    <h3 class="name">Potassium</h3> 
 
    <p class="symbol">K</p> 
 
    <p class="number">19</p> 
 
    <p class="weight">39.0983</p> 
 
    </div> 
 
    <div class="element-item alkali metal " data-category="alkali"> 
 
    <h3 class="name">Sodium</h3> 
 
    <p class="symbol">Na</p> 
 
    <p class="number">11</p> 
 
    <p class="weight">22.99</p> 
 
    </div> 
 
    <div class="element-item transition metal " data-category="transition"> 
 
    <h3 class="name">Cadmium</h3> 
 
    <p class="symbol">Cd</p> 
 
    <p class="number">48</p> 
 
    <p class="weight">112.411</p> 
 
    </div> 
 
    <div class="element-item alkaline-earth metal " data-category="alkaline-earth"> 
 
    <h3 class="name">Calcium</h3> 
 
    <p class="symbol">Ca</p> 
 
    <p class="number">20</p> 
 
    <p class="weight">40.078</p> 
 
    </div> 
 
    <div class="element-item transition metal " data-category="transition"> 
 
    <h3 class="name">Rhenium</h3> 
 
    <p class="symbol">Re</p> 
 
    <p class="number">75</p> 
 
    <p class="weight">186.207</p> 
 
    </div> 
 
    <div class="element-item post-transition metal " data-category="post-transition"> 
 
    <h3 class="name">Thallium</h3> 
 
    <p class="symbol">Tl</p> 
 
    <p class="number">81</p> 
 
    <p class="weight">204.383</p> 
 
    </div> 
 
    <div class="element-item metalloid " data-category="metalloid"> 
 
    <h3 class="name">Antimony</h3> 
 
    <p class="symbol">Sb</p> 
 
    <p class="number">51</p> 
 
    <p class="weight">121.76</p> 
 
    </div> 
 
    <div class="element-item transition metal " data-category="transition"> 
 
    <h3 class="name">Cobalt</h3> 
 
    <p class="symbol">Co</p> 
 
    <p class="number">27</p> 
 
    <p class="weight">58.933</p> 
 
    </div> 
 
    <div class="element-item lanthanoid metal inner-transition " data-category="lanthanoid"> 
 
    <h3 class="name">Ytterbium</h3> 
 
    <p class="symbol">Yb</p> 
 
    <p class="number">70</p> 
 
    <p class="weight">173.054</p> 
 
    </div> 
 
    <div class="element-item noble-gas nonmetal " data-category="noble-gas"> 
 
    <h3 class="name">Argon</h3> 
 
    <p class="symbol">Ar</p> 
 
    <p class="number">18</p> 
 
    <p class="weight">39.948</p> 
 
    </div> 
 
    <div class="element-item diatomic nonmetal " data-category="diatomic"> 
 
    <h3 class="name">Nitrogen</h3> 
 
    <p class="symbol">N</p> 
 
    <p class="number">7</p> 
 
    <p class="weight">14.007</p> 
 
    </div> 
 
    <div class="element-item actinoid metal inner-transition " data-category="actinoid"> 
 
    <h3 class="name">Uranium</h3> 
 
    <p class="symbol">U</p> 
 
    <p class="number">92</p> 
 
    <p class="weight">238.029</p> 
 
    </div> 
 
    <div class="element-item actinoid metal inner-transition " data-category="actinoid"> 
 
    <h3 class="name">Plutonium</h3> 
 
    <p class="symbol">Pu</p> 
 
    <p class="number">94</p> 
 
    <p class="weight">(244)</p> 
 
    </div> 
 
</div>

0

Попробуйте this скрипки для флажка.

$(function(){ 

    var $container = $('#container'), 
     $checkboxes = $('#filters input'); 

    $container.isotope({ 
    itemSelector: '.item' 
    }); 

    $checkboxes.change(function(){ 
    var filters = []; 
    // get checked checkboxes values 
    $checkboxes.filter(':checked').each(function(){ 
     filters.push(this.value); 
    }); 
    // ['.red', '.blue'] -> '.red, .blue' 
    filters = filters.join(', '); 
    $container.isotope({ filter: filters }); 
    }); 

    $('#shuffle').click(function(){ 
    $container.isotope('shuffle'); 
    }); 

    var $items = $container.children(); 


}); 
Смежные вопросы