Pjax无刷新跳转页面实现,支持超链接与表单提交
时间:2025-07-23 20:12热度:91
pjax技术,一种结合pushState和ajax实现页面无刷新跳转的方法。通过pjax,用户可以在不重新加载整个页面的情况下,从服务器加载新的HTML内容。
什么是pjax?
当你点击一个站内的链接的时候,不是做页面跳转,而是只是站内页面刷新。这样的用户体验,比起整个页面都闪一下来说, 好很多。 其中有一个很重要的组成部分, 这些网站的ajax刷新是支持浏览器历史的, 刷新页面的同时, 浏览器地址栏位上面的地址也是会更改, 用浏览器的回退功能也能够回退到上一个页面。 那么如果我们想要实现这样的功能, 我们如何做呢?
我发现pjax提供了一个脚本支持这样的功能,这个jquery.pjax.min.js是国外大神写的jquery开源的pjax通用封装插件。pjax可以实现局部刷新,和ajax的区别是,pjax的局部刷新,浏览器地址栏的网址会变化。
怎样使用pjax
先添加必要文件:
<script src="../jquery.min.js"></script> <script src="../jquery.pjax.min.js"></script>
然后在js代码中写如下代码:
$(function(){ //页面主体内容支持pjax $(document).pjax('a', '#container', { //这是a标签的pjax。#container 表示执行pjax后会发生变化的id,改成你主题的内容主体id或class。timeout是pjax响应时间限制,如果在设定时间内未响应就执行页面转跳,可自由设置。 fragment:'#container', timeout:1500 }); //支持表单提交事件无刷新 $(document).on('submit', 'form', function (event) { //这是提交表单的pjax。form表示所有的提交表单都会执行pjax,比如搜索和提交评论,可自行修改改成你想要执行pjax的form id或class。#container 同上改成你主题的内容主体id或class。 $.pjax.submit(event, '#container', { fragment:'#container', timeout:6000 }); }); //执行pjax开始,在这里添加要重载的代码,可自行添加loading动画代码。 $(document).on('pjax:send', function() { $('body').append('<div class="loading"></div>'); $('.main').fadeTo(200,0.0); }); //执行pjax结束,在这里添加要重载的代码,可自行添加loading动画结束或隐藏代码。 $(document).on('pjax:complete', function() { $('.loading').remove(); $('.main').fadeTo(500,1); }); });
下载地址
分享 :文章标题:Pjax无刷新跳转页面实现,支持超链接与表单提交
文章链接:https://www.tzzbj.com/Web/143.html
所有文章未经授权禁止转载、摘编、复制或建立镜像,违规转载法律必究。
本站部分内容来源于网络,仅供大家学习与参考,如有侵权,请联系站长邮箱:906080088@qq.com进行处理。
上一篇:没有了
下一篇:用CSS实现手电筒光照效果
扩展阅读
文章评论