回答編集履歴
1
動作がCSSでは実現難しかったため変更
answer
CHANGED
@@ -1,14 +1,42 @@
|
|
1
|
+
>修正、CSSのみでは対応できないので以下のように変更しました。
|
1
2
|
1.ulのliを1つのUlで囲む
|
2
|
-
2.
|
3
|
+
2.5つ目ごとのliにクラス名 _clear を追加 ※ここは最初にスクリプトで行ってもよいかもです
|
3
|
-
3.隠す際に
|
4
|
+
3.隠す際に _clear をremoveClass
|
4
|
-
4.表示する際に
|
5
|
+
4.表示する際に _clear をaddClass
|
5
6
|
|
6
7
|
レスポンシブ等は別途CSS定義必須。
|
7
8
|
|
8
9
|
あと本来重複してはいけないid属性の値に重複があるのでそれは改めた方がいいかと。
|
9
10
|
|
11
|
+
|
10
12
|
```CSS
|
11
|
-
.
|
13
|
+
._clear{
|
12
14
|
clear: both;
|
13
15
|
}
|
16
|
+
```
|
17
|
+
```javascript
|
18
|
+
if (searchVal.length) {
|
19
|
+
var visibleCount = 0;
|
20
|
+
var clearNumber = 4;
|
21
|
+
for (var i in itemsIndexed) {
|
22
|
+
$item = $items.eq(i);
|
23
|
+
$item.removeClass('_clear');
|
24
|
+
if (itemsIndexed[i].indexOf(searchVal) != -1){
|
25
|
+
$item.removeClass('is-hidden').html($item.html().replace(new RegExp(searchVal + '(?!([^<]+)?>)', 'gi'), '<span class="highlight">$&</span>'));
|
26
|
+
if((visibleCount) % clearNumber==0){
|
27
|
+
$item.addClass('_clear');
|
28
|
+
}
|
29
|
+
visibleCount++;
|
30
|
+
}else{
|
31
|
+
|
32
|
+
$item.addClass('is-hidden');
|
33
|
+
}
|
34
|
+
|
35
|
+
}
|
36
|
+
}
|
37
|
+
else{
|
38
|
+
$items.removeClass('is-hidden');
|
39
|
+
$items.removeClass('_clear');
|
40
|
+
}
|
41
|
+
|
14
42
|
```
|