|
|
| 第31行: |
第31行: |
| <option value="灰烬">灰烬</option> | | <option value="灰烬">灰烬</option> |
| <option value="治愈">治愈</option> | | <option value="治愈">治愈</option> |
| | <!-- 按需继续添加 --> |
| </select> | | </select> |
| <button id="pf-reset">重置</button> | | <button id="pf-reset">重置</button> |
| </div> | | </div> |
|
| |
| <script>
| |
| (function() {
| |
| // 等页面加载完再执行
| |
| document.addEventListener('DOMContentLoaded', function() {
| |
| var nameInput = document.getElementById('pf-name');
| |
| var sunMaxInput = document.getElementById('pf-sun-max');
| |
| var cdMaxInput = document.getElementById('pf-cd-max');
| |
| var typeSelect = document.getElementById('pf-type');
| |
| var resetBtn = document.getElementById('pf-reset');
| |
| var cards = document.querySelectorAll('.pvzhe-card');
| |
|
| |
| function filterCards() {
| |
| var name = nameInput.value.toLowerCase();
| |
| var sunMax = parseFloat(sunMaxInput.value) || Infinity;
| |
| var cdMax = parseFloat(cdMaxInput.value) || Infinity;
| |
| var type = typeSelect.value;
| |
|
| |
| cards.forEach(function(card) {
| |
| var n = (card.getAttribute('data-name') || '').toLowerCase();
| |
| var sun = parseFloat(card.getAttribute('data-sun')) || 0;
| |
| var cd = parseFloat(card.getAttribute('data-cooldown')) || 0;
| |
| var t = card.getAttribute('data-type') || '';
| |
|
| |
| var show = true;
| |
| if (name && n.indexOf(name) === -1) show = false;
| |
| if (sun > sunMax) show = false;
| |
| if (cd > cdMax) show = false;
| |
| if (type) {
| |
| var cardTypes = t.split(',').map(function(s) { return s.trim(); });
| |
| if (cardTypes.indexOf(type) === -1) show = false;
| |
| }
| |
|
| |
| card.classList.toggle('hidden-card', !show);
| |
| });
| |
| }
| |
|
| |
| // 绑定事件
| |
| nameInput.addEventListener('input', filterCards);
| |
| sunMaxInput.addEventListener('input', filterCards);
| |
| cdMaxInput.addEventListener('input', filterCards);
| |
| typeSelect.addEventListener('change', filterCards);
| |
|
| |
| resetBtn.addEventListener('click', function() {
| |
| nameInput.value = '';
| |
| sunMaxInput.value = '';
| |
| cdMaxInput.value = '';
| |
| typeSelect.value = '';
| |
| filterCards();
| |
| });
| |
| });
| |
| })();
| |
| </script>
| |
| </includeonly> | | </includeonly> |