广告:

本人博客地址:https://mmmmmm.me

源码:https://github.com/dataiyangu/dataiyangu.github.io

一个将csdn文章转为hexo支持的文章格式的小东西:https://github.com/dataiyangu/csdn2hexo

背景

前面关于pjax的博客说过,用了pjax后,原来的一些js会失效,需要重新对需要的js重写。

之前next本身是支持点击图片,增加一层模板,图片放大的,用了pjax之后,发现失效了。

发现

加入pjax之前,点击图片地址连接是不变的,加入之后放大失效,地址连接变了,说明把图片当做a处理了

解决

  1. $(document).pjax('a[target!=_blank][rel!=group]', '#pjax-container', {
  2. fragment: '#pjax-container',
  3. timeout: 15000,
  4. });

加入了排除[rel!=group]

经过阅读源码发现,next的图片放大js片段是如下代码,直接复制到pjax的类中即可

  1. function wrapImageWithFancyBox() {
  2. $('.content img')
  3. .not('[hidden]')
  4. .not('.group-picture img, .post-gallery img')
  5. .each(function () {
  6. var $image = $(this);
  7. var imageTitle = $image.attr('title');
  8. var $imageWrapLink = $image.parent('a');
  9. if ($imageWrapLink.size() < 1) {
  10. var imageLink = ($image.attr('data-original')) ? this.getAttribute('data-original') : this.getAttribute('src');
  11. $imageWrapLink = $image.wrap('<a href="' + imageLink + '"></a>').parent('a');
  12. }
  13. $imageWrapLink.addClass('fancybox fancybox.image');
  14. $imageWrapLink.attr('rel', 'group');
  15. if (imageTitle) {
  16. $imageWrapLink.append('<p class="image-caption">' + imageTitle + '</p>');
  17. //make sure img title tag will show correctly in fancybox
  18. $imageWrapLink.attr('title', imageTitle);
  19. }
  20. });
  21. $('.fancybox').fancybox({
  22. helpers: {
  23. overlay: {
  24. locked: false
  25. }
  26. }
  27. });
  28. }

get技能

不可能所有的a标签都用pjax通过

  1. $(document).pjax('a[target!=_blank][rel!=group]',

进行排除。

Hexo next博客的pjax一个Bug引发的关于pjax用法的小技巧-----pjax后图片点击放大的js失效的更多相关文章

  1. 2019基于Hexo快速搭建个人博客,打造一个炫酷博客(1)-奥怪的小栈

    本文转载于:奥怪的小栈 这篇文章告诉你如何在2019快速上手搭建一个像我一样的博客:基于HEXO+Github搭建.并完成SEO优化,打造一个炫酷博客. 本站基于HEXO+Github搭建.所以你需要 ...

  2. 超详细Hexo+Github博客搭建小白教程

    原文链接:超详细Hexo+Github博客搭建小白教程 去年9月的时候开始搭建了第一个自己的独立博客,到现在也稍微像模像样了.很多小伙伴应该也想过搭建一个自己的博客,网上也有一堆详细教程.我在此稍稍总 ...

  3. Hexo+Github: 博客网站搭建完全教程(看这篇就够了)

    本篇教程首次发布在个人博客:sunhwee.com,想要获得最佳阅读体验,欢迎前往,建议用电脑查看教程文档. # 阅读须知 注意,这篇文章篇幅较长,主要针对新手,每一步很详细,所以可能会显得比较啰嗦, ...

  4. 手把手教从零开始在GitHub上使用Hexo搭建博客教程(三)-使用Travis自动部署Hexo(1)

    前言 前面两篇文章介绍了在github上使用hexo搭建博客的基本环境和hexo相关参数设置等. 基于目前,博客基本上是可以完美运行了. 但是,有一点是不太好,就是源码同步问题,如果在不同的电脑上写文 ...

  5. 手把手教从零开始在GitHub上使用Hexo搭建博客教程(二)-Hexo参数设置

    前言 前文手把手教从零开始在GitHub上使用Hexo搭建博客教程(一)-附GitHub注册及配置介绍了github注册.git相关设置以及hexo基本操作. 本文主要介绍一下hexo的常用参数设置. ...

  6. 手把手教从零开始在GitHub上使用Hexo搭建博客教程(一)-附GitHub注册及配置

    前言 有朋友问了我关于博客系统搭建相关的问题,由于是做开发相关的工作,我给他推荐的是使用github的gh-pages服务搭建个人博客. 推荐理由: 免费:github提供gh-pages服务是免费的 ...

  7. 利用hexo搭建博客

    利用Hexo搭建博客 以前用Octopress搭过博客,折腾了好久才弄出来,当时看到那巨难看的默认主题,繁琐的操作,一点写东西的欲望都没了. 一次逛微博,看见了Hexo.尝试了一下,真的很好用哦. 下 ...

  8. 搭载hexo+github博客系统

    一.安装 Node.js 在官网 http://nodejs.org/ 下载winwos版本,点击安装完成即可. 二.git环境安装 对于git的安装,网上已经大量资料,就不赘述了. 三.安装 hex ...

  9. 使用github+hexo搭建博客笔记

    听说github上可以搭博客,而且不用自己提供空间和维护,哈哈哈 作为一名程序猿,github搭博客对我有种神奇的吸引力,赶紧动手试一试 关于如何使用hexo搭建博客网上好的教程多如牛毛,而且这篇博客 ...

随机推荐

  1. mysql 查询所有表以及对应的信息

    https://www.cnblogs.com/ssslinppp/p/6178636.html use information_schema;selectengine,table_name,tabl ...

  2. 动态调试某个apk的smali代码,微信举例

    本地环境: PC:windows 10,Intellij IDEA (android studio应该一样的) 手机:nexus5 8.1系统, 其他依赖:smalidea插件,xposed 插件 h ...

  3. Python中的浮点数原理与运算分析

    Python中的浮点数原理与运算分析 本文实例讲述了Python中的浮点数原理与运算.分享给大家供大家参考,具体如下: 先看一个违反直觉的例子:     >>> s = 0. > ...

  4. kubernetes安装部署

    1.根据系统内核情况,选择对应的ali云上的镜像,作为仓库的路径指向来配置k8s https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes- ...

  5. 解决myeclipse validation验证javascript导致速度变慢的现象

    参考:https://jingyan.baidu.com/article/ca41422fe094251eae99ede7.html

  6. HBase最佳实践-读性能优化策略

    任何系统都会有各种各样的问题,有些是系统本身设计问题,有些却是使用姿势问题.HBase也一样,在真实生产线上大家或多或少都会遇到很多问题,有些是HBase还需要完善的,有些是我们确实对它了解太少.总结 ...

  7. 面试题40:最小(大)的K个数

    剑指offer40题,同时这也是面试高发题目 2019.4 蚂蚁金服问道:求1000万个数据中的前K个数. 思路: 1.直接上排序算法,然后我们就取排好顺序的前K个即可.但是单考虑快排,时间复杂度也要 ...

  8. spring cloud学习--feign

    简单示例 增加feign maven依赖 <dependency> <groupId>org.springframework.cloud</groupId> < ...

  9. MongoDB Windows之MSI安装

    MSI安装 下载地址:https://www.mongodb.com/download-center/community Version根据自己所需要的版本下载,OS根据自己电脑选择(我是Window ...

  10. Spring学习笔记(13)——aop原理及拦截器

    原理 AOP(Aspect Oriented Programming),也就是面向方面编程的技术.AOP基于IoC基础,是对OOP的有益补充. AOP将应用系统分为两部分,核心业务逻辑(Core bu ...