不凡博客(Bufanz.com)

版权声明

未经允许,请勿转载本博客的文章、图片和视频,谢谢!
首页 > 建站 > 正文

网页添加Pjax代码实现无刷新加载

建站 | 2020年09月18日17:05:37

腾讯云轻量服务器2核2G3M仅88元/年

Pjax是什么?

  在网页上点击链接,只会更新网页内容和更改地址栏上的网址,如果网页有音乐播放器,点击链接后,音乐播放器也没有影响,仍在继续播放音乐,与将整个网页加载相比,这种浏览网页体验要好得多,还能节省服务器带宽和成本。

添加步骤

一、下载JS文件(本站下载),上传到网站目录内。

二、在网页的<head>后面添加代码。

<script src="http://网址/jquery.min.js" type="text/javascript"></script>
<script src="http://网址/jquery.pjax.js" type="text/javascript"></script>

三、在网页中找到需要Pjax无刷新的地方,在前面添加<div id="wrap">,在后面添加</div>。比如,在顶部导航栏的下方和底部导航栏的上方。

四、在</body>前面添加以下代码。

<script type="text/javascript">
    $(document).pjax('a[target!=_blank]', '#wrap', {fragment: '#wrap',timeout: 8000}); //#wrap为刷新的id
    $(document).on('pjax:send', function() {
    $(".loading").css("display", "block");
    //预加载函数可写在这里});$(document).on('pjax:complete', function() {
    //回调函数
    $("img[src$=jpg],img[src$=jpeg],img[src$=png],img[src$=gif]").parent("a[class!=noview]").addClass("swipebox");
    if( $('pre').length ){ prettyPrint(); }     //回调函数解决文章页代码不高亮的问题
    $(".loading").css("display", "none");
    //pjax加载结束的回调函数 解决js无法定位的问题
    //重新定位容器内容的函数写在这里});
</script>

五、加载动画,在CSS文件添加以下代码。(可选添加,如果你使用的是虚拟主机或者低配服务器,不建议添加动画。)

.loading{display:none}
.loading{height:100%;width:100%;position:fixed;top:0;left:0;z-index:999999;background-color:rgba(250,250,250,.9)}
.loading img{width: 280px;height:210px;position: relative;top: 45%;left: 50%;margin-left:-140px;margin-top: -105px;}
#loader{display: block; position: relative; left: 50%; top: 50%; width: 150px; height: 150px; margin: -75px 0 0 -75px; border-radius: 50%; border: 3px solid transparent; border-top-color: #ff5a5a; -webkit-animation: spin 1s linear infinite; animation: spin 1s linear infinite;}
#loader:before{content: ""; position: absolute; top: 5px; left: 5px; right: 5px; bottom: 5px; border-radius: 50%; border: 3px solid transparent; border-top-color: #5af33f; -webkit-animation: spin 3s linear infinite; animation: spin 3s linear infinite;}
#loader:after{content: ""; position: absolute; top: 15px; left: 15px; right: 15px; bottom: 15px; border-radius: 50%; border: 3px solid transparent; border-top-color: #6dc9ff; -webkit-animation: spin 2s linear infinite; animation: spin 2s linear infinite;}
@-webkit-keyframes spin{0%{-webkit-transform: rotate(0deg); -ms-transform: rotate(0deg); transform: rotate(0deg);} 100%{-webkit-transform: rotate(360deg); -ms-transform: rotate(360deg); transform: rotate(360deg);}}
@keyframes spin{0%{-webkit-transform: rotate(0deg); -ms-transform: rotate(0deg); transform: rotate(0deg);} 100%{-webkit-transform: rotate(360deg); -ms-transform: rotate(360deg); transform: rotate(360deg);}}

六、在</body>前面添加以下代码。

<div class="loading"><div id="loader"></div></div>

七、最终效果。

网页添加Pjax代码实现无刷新加载

注意

  使用Pjax代码,可能会使其它JS代码无法加载,如图片灯箱、网站统计代码。

The End
淘宝购物先领券,更省钱

本文标题:网页添加Pjax代码实现无刷新加载

本文链接:https://bufanz.com/post/75.html

版权声明:本文章是 不凡博客(Bufanz.com) 的原创文章,未经允许请勿转载本文章!

网友点评 展开评论

本文暂无评论 - 欢迎您

请填写验证码