要实现将部分数据页码隐藏,点击后显示全部页码的效果,你可以修改模板文件,在合适的位置添加 JavaScript 代码来实现。下面是一个示例:
<script>
function togglePages() {
var pagination = document.querySelector('.pagination');
if (pagination.classList.contains('show-all-pages')) {
pagination.classList.remove('show-all-pages');
} else {
pagination.classList.add('show-all-pages');
}
}
</script>
<div class="pagination">
{% for page_num in plist %}
{% if page_num == pIndex or page_num|add:-1 == pIndex or page_num|add:1 == pIndex %}
<a href="?pIndex={{ page_num }}">{{ page_num }}</a>
{% elif forloop.first or forloop.last %}
<a href="?pIndex={{ page_num }}">{{ page_num }}</a>
{% else %}
<!-- 隐藏的页码 -->
<span class="hidden-page">{{ page_num }}</span>
{% endif %}
{% endfor %}
<button onclick="togglePages()">更多页码</button>
</div>
<style>
.hidden-page { display: none; }
.pagination.show-all-pages .hidden-page { display: inline-block; }
</style>
在这个示例中,我通过添加一个 togglePages() 函数来切换是否显示全部页码。每个隐藏的页码使用 <span> 元素包裹,并应用了 .hidden-page 类来进行样式控制。
点击 “更多页码” 按钮时,会调用 togglePages() 函数来切换 .pagination 元素上是否存在 .show-all-pages 类。当存在该类时,隐藏的页码将显示出来。点击按钮再次切换时,隐藏的页码将重新隐藏。
这样就实现了初步的数据页码隐藏和点击展示全部页码的效果。你可以根据需要对 JavaScript 和 CSS 样式进行调整。
内容由零声教学AI助手提供,问题来源于学员提问




