纯代码给你的网站增加图片灯箱效果,增强落地页体验

灯箱效果是我一直想加又没有加的功能,正好最近百度在推移动落地页检测,顺手做一下优化

我的检测结果是:您的页面可能存在图片不可全屏查看,全屏查看后不可缩放 / 左右滑动的问题,影响落地页体验

我们可以直接使用 FancyBox 来完成我们的需求,FancyBox 是一款优秀的弹出框 Jquery 插件

1、允许我们用鼠标和键盘上的四个方向键切换图片
2、可以根据当前窗口大小自动调整弹出框的大小,当我们改变浏览器窗口大小时,将会看到弹出框自动缩放
3、支持缩略图列表、放大、全屏等功能
4、弹出框支持显示多种类型的内容:图片、html、视频…
5、支持触控、缩放手势操作图片

实现加入 FancyBox 灯箱效果教程

1、引入相关文件

可以将 FancyBox 的 js、css 文件下载到主题目录中进行引入,这里我们直接使用 CDN 外链

请先在 header.php 文件的 head 标签前引入 Jquery 文件

<script type=‘text/javascript‘ src="https://cdn.staticfile.org/jquery/3.3.1/jquery.min.js"></script>

如果存在就跳过 (大部分应该都有),然后在 footer.php 文件的标签前引入 FancyBox 的 js、css 文件

<link rel="stylesheet" href="https://cdn.staticfile.org/fancybox/3.5.7/jquery.fancybox.min.css" />
<script type="text/javascript" src="https://cdn.staticfile.org/fancybox/3.5.7/jquery.fancybox.min.js"></script>

2、增加 data-fancybox 属性

这里分为两种情况,一种为之前插入图片的时候,添加过 <a> 标签

即:【添加多媒体】→【上传图片或媒体库】→选中图片→点击【插入至文章】之前,选择【附件显示设置】链接到【媒体文件】

需要将以下代码添加到当前主题的 functions.php 文件中

// fancybox3图片添加 data-fancybox 属性
add_filter(‘the_content‘, ‘fancybox‘);
function fancybox ($content){
   global $post;
   $pattern = "/<a(.*?)href=(‘|\")([^>]*).(bmp|gif|jpeg|jpg|png|swf)(‘|\")(.*?)>(.*?)<\/a>/i";
   $replacement = ‘<a$1href=$2$3.$4$5 data-fancybox="images"$6>$7</a>‘;
   $content = preg_replace($pattern, $replacement, $content);
   return $content;
}

另外一种是从来没有添加过 <a> 标签的,我们使用 js 自动添加链接到原图

$(function() {
   $(".entry-content p img").each(function(i) {
      if (!this.parentNode.href) {
         $(this).wrap("<a href=‘" + this.src + "‘ data-fancybox=‘fancybox‘ data-caption=‘" + this.alt + "‘></a>")
      }
   })
});

.entry-content p img 需要修改为你自己网站的图片正文的 CSS 类,这上面 js 代码加入到 header.php 或 footer.php 文件中

3. 初始化 fancybox

一切加载完成后,就可以初始化 FancyBox 了,在刚才引入的 FancyBox 的 js、css 文件下面增加

$(document).ready(function() {
   $("[data-fancybox]").fancybox()
});

如果一切顺利,那么你的网站现在点击图片就可以看到图片灯箱效果,不满意默认效果?那就来自定义配置吧

在初始化的时候增加配置,比如这个样子:

$(document).ready(function() {
   $("[data-fancybox]").fancybox({
      protect:true, // 禁用右键保存
   })
});

更多配置项查看文档

今天查看落地页检测已经可以通过~

我的博客即将同步至腾讯云+社区,邀请大家一同入驻:https://cloud.tencent.com/developer/support-plan?invite_code=1jvh9p01kmzgp

原文地址:https://www.cnblogs.com/huliuwa/p/12028900.html

时间: 2024-10-13 01:15:47

纯代码给你的网站增加图片灯箱效果,增强落地页体验的相关文章

为BlueLake主题增加图片放大效果

fancyBox 是一个流行的媒体展示增强组件,可以方便为网站添加图片放大.相册浏览.视频弹出层播放等效果.优点有使用简单,支持高度自定义,兼顾触屏.响应式移动端特性,总之使用体验相当好. 现在,我们就将 fancyBox 集成到 hexo BlueLake 中. 一.下载 fancybox git clone https://github.com/fancyapps/fancybox.git 文件下载下来之后,如下图所示: 将 dist 目录下的两个 js 文件拷贝到 BlueLake 主题的

网站——循环图片切换效果(最近做网站,已经快炸了)

看一下效果 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="zh-cn"><head><meta

纯代码系列:Python实现验证码图片(PIL库经典用法用法,爬虫12306思路)

现在的网页中,为了防止机器人提交表单,图片验证码是很常见的应对手段之一.这里就不详细介绍了,相信大家都遇到过. 现在就给出用Python的PIL库实现验证码图片的代码.代码中有详细注释. #!/usr/bin/env python #coding=utf-8 import random from PIL import Image, ImageDraw, ImageFont, ImageFilter _letter_cases = "abcdefghjkmnpqrstuvwxy" # 小

ios手势复习值之换图片-转场动画(纯代码)

目标:实现通过手势进行图片的切换   通过左扫右扫 来实现(纯代码) 添加三个属性 1uiImageView 用来显示图片的view 2 index 用来表示图片的索引 3 ISLeft 判断是不是向左滑 下边是详细的代码: - (void)viewDidLoad { [super viewDidLoad]; self.index = 0; self.ISLeft = YES; _imageView = [[UIImageView alloc]initWithFrame:self.view.fr

猫学习IOS(三)UI纯代码UI——图片浏览器

猫分享.必须精品 看看效果 主要实现相似看新闻的一个界面,不用拖拽,纯代码手工写. 首先分析app能够非常easy知道他这里有两个UILabel一个UIImageView还有两个UIButton 定义UIView中的东西 @property (nonatomic, strong) UILabel *noLabel;//数字标签 @property (nonatomic, strong) UIImageView *iconImage;//图片控件 @property (nonatomic, str

猫猫学IOS(三)UI之纯代码实现UI——图片查看器

猫猫分享,必须精品 先看效果 主要实现类似看新闻的一个界面,不用拖拽,纯代码手工写. 首先分析app可以很容易知道他这里有两个UILabel一个UIImageView还有两个UIButton 定义UIView中的东西 @property (nonatomic, strong) UILabel *noLabel;//数字标签 @property (nonatomic, strong) UIImageView *iconImage;//图片控件 @property (nonatomic, stron

IOS 之纯代码计算cell的搞定(文字+图片)

1.自从换了工作之后,好久都没有碰自己的博客园了,今天刚好学到这个知识点就想起来写点东西了呀,tableview的使用在我们的应用的十分广泛,我特地的学习了下纯代码计算的cell的高度,在计算的中遇到了几个问题,但是还解决了,我直接上代码啦!!使用的是mvc的框架来实现的高度的计算,这里是自己的写的数据,不是接口的数据.用来测试了!! 2.项目中包括下面几个类:(model,Frame, tableviewcell , controller)这四个类 :(纯代码计算高Demo来说明下) 3.Mo

iOS开发UI篇—以微博界面为例使用纯代码自定义cell程序编码全过程(一)

iOS开发UI篇-以微博界面为例使用纯代码自定义cell程序编码全过程(一) 一.storyboard的处理 直接让控制器继承uitableview controller,然后在storyboard中把继承自uiviewcontroller的控制器干掉,重新拖一个tableview controller,和主控制器进行连线. 项目结构和plist文件 二.程序逻辑业务的处理 第一步,把配图和plist中拿到项目中,加载plist数据(非png的图片放到spooding files中) 第二步,字

大型网站架构 图片服务器分离

  1   介绍 现在很多的网站上都会用到大量的图片,而图片是网页传输中占主要的数据量,也是影响网站性能的主要因素.因此很多网站都会将图片存储从网站中分离出来,另外架构一个或多个服务器来存储图片,将图片放到一个虚拟目录中,而网页上的图片都用一个URL地址来指向这些服务器上的图片的地址,这样的话网站的性能就明显提高了,图片服务器(ImageServer)的概念也就产生了. 1.1     图片服务器的优势 1, 分担Web服务器的I/O负载-将耗费资源的图片服务分离出来,提高服务器的性能和稳定性.