|
7 | 7 | </slot>
|
8 | 8 | </a>
|
9 | 9 | </li>
|
10 |
| - {#each { length } as _, p (++p)} |
| 10 | + {#each Array(length).fill() as _, p (p)} |
11 | 11 | {#if !rest}
|
12 |
| - <li class="page-item" class:active={page === p}> |
13 |
| - <a href="#_" on:click|preventDefault={() => (page = p)}>{p}</a> |
| 12 | + <li class="page-item" class:active={page === p + 1}> |
| 13 | + <a href="#_" on:click|preventDefault={() => (page = p + 1)}>{p + 1}</a> |
14 | 14 | </li>
|
15 | 15 | {:else if page <= rest}
|
16 |
| - {#if p <= rest + 1 || p === length} |
17 |
| - <li class="page-item" class:active={page === p}> |
18 |
| - <a href="#_" on:click|preventDefault={() => (page = p)}>{p}</a> |
| 16 | + {#if p + 1 <= rest + 1 || p + 1 === length} |
| 17 | + <li class="page-item" class:active={page === p + 1}> |
| 18 | + <a href="#_" on:click|preventDefault={() => (page = p + 1)}>{p + 1}</a> |
19 | 19 | </li>
|
20 | 20 | {/if}
|
21 |
| - {#if p === rest + 1} |
22 |
| - <li class="page-item" class:active={page === p}> |
| 21 | + {#if p + 1 === rest + 1} |
| 22 | + <li class="page-item" class:active={page === p + 1}> |
23 | 23 | <slot name="rest">
|
24 | 24 | <span>...</span>
|
25 | 25 | </slot>
|
26 | 26 | </li>
|
27 | 27 | {/if}
|
28 | 28 | {:else if page > rest && page <= length - rest}
|
29 |
| - {#if p === length} |
30 |
| - <li class="page-item" class:active={page === p}> |
| 29 | + {#if p + 1 === length} |
| 30 | + <li class="page-item" class:active={page === p + 1}> |
31 | 31 | <slot name="rest">
|
32 | 32 | <span>...</span>
|
33 | 33 | </slot>
|
34 | 34 | </li>
|
35 | 35 | {/if}
|
36 |
| - {#if (p >= page - shift && p < page + (rest - shift)) || p === length || p === 1} |
37 |
| - <li class="page-item" class:active={page === p}> |
38 |
| - <a href="#_" on:click|preventDefault={() => (page = p)}>{p}</a> |
| 36 | + {#if (p + 1 >= page - shift && p + 1 < page + (rest - shift)) || p + 1 === length || p + 1 === 1} |
| 37 | + <li class="page-item" class:active={page === p + 1}> |
| 38 | + <a href="#_" on:click|preventDefault={() => (page = p + 1)}>{p + 1}</a> |
39 | 39 | </li>
|
40 | 40 | {/if}
|
41 |
| - {#if p === 1} |
42 |
| - <li class="page-item" class:active={page === p}> |
| 41 | + {#if p + 1 === 1} |
| 42 | + <li class="page-item" class:active={page === p + 1}> |
43 | 43 | <slot name="rest">
|
44 | 44 | <span>...</span>
|
45 | 45 | </slot>
|
46 | 46 | </li>
|
47 | 47 | {/if}
|
48 | 48 | {:else if page > length - rest}
|
49 |
| - {#if p === length - rest} |
50 |
| - <li class="page-item" class:active={page === p}> |
| 49 | + {#if p + 1 === length - rest} |
| 50 | + <li class="page-item" class:active={page === p + 1}> |
51 | 51 | <slot name="rest">
|
52 | 52 | <span>...</span>
|
53 | 53 | </slot>
|
54 | 54 | </li>
|
55 | 55 | {/if}
|
56 |
| - {#if p >= length - rest || p === 1} |
57 |
| - <li class="page-item" class:active={page === p}> |
58 |
| - <a href="#_" on:click|preventDefault={() => (page = p)}>{p}</a> |
| 56 | + {#if p + 1 >= length - rest || p + 1 === 1} |
| 57 | + <li class="page-item" class:active={page === p + 1}> |
| 58 | + <a href="#_" on:click|preventDefault={() => (page = p + 1)}>{p + 1}</a> |
59 | 59 | </li>
|
60 | 60 | {/if}
|
61 | 61 | {/if}
|
|
0 commit comments