Facebox——打造类似Facebook、人人网的提示框

转载 2012年03月29日 14:05:25

译自:http://defunkt.github.com/facebox/

简介

Facebox是一个基于jQuery的,类似于Facebook和人人网的提示框,可以显示图片、divs或者其他任何远程的页面。它简单易用,看起来也很清爽。

下载

可以点击这里下载压缩包,里面含有所有用到的js,css和示例等,或者去官方网站下载,也可以到GitHub下载。

使用

按以下顺序加载所需的js和css:

<script src="jquery.js" type="text/javascript"></script>
<link href="facebox/facebox.css" media="screen" rel="stylesheet" type="text/css"/>
<script src="facebox/facebox.js" type="text/javascript"></script>

然后在script块中加入如下代码:

jQuery(document).ready(function($) {
  $(''a[rel*=facebox]'').facebox({
  	loadingImage:'loading.gif' ,
  	closeImage:'closelabel.gif'
  	});
})

facebox的第一个参数是一个对象,包含多个名值对。一般需要为其指定loading图片的地址和关闭按钮图片的地址,如上所示。

这样,所有rel属性值中含有子串”facebox”的a标记将成为Facebox的触发器,当点击它们时将弹出类似Facebook的弹出框。弹出框的内容由该a标记的href属性值指定,或者由facebox方法的参数指定,详细方法将在下文介绍。

附加的class

可以给facebox的容器指定附加的class属性值来调整其样式,对于获取的远程页面,这个特性尤其重要。附加class的方法是将相应标记的rel属性做以下修改:rel=”facebox[.classname]“,其中的的classname即为要附加的css的类名。例如:

<a href="remote.html" rel="facebox[.bolder]">text</a>

Facebox的显示内容

Facebox弹出框所显示的内容可以由两种方式来设定,一种是由a标记的href属性值来指定,方法参加以上的示例,即:

  • 对于图片,设置其href属性值为图片地址;
  • 对于div,设置其href属性值为div的id;
  • 对于远程获取的页面,设置其href属性值为页面地址。

另一种方式是通过facebox方法的参数来指定,方法如下:

  • 简单的文本:jQuery.facebox(”something cool”);
  • 远程页面:jQuery.facebox({ ajax: ”remote.html” });
  • 图片:jQuery.facebox({ image: ”stairs.jpg” });
  • 同一页面中的标记:jQuery.facebox({ div: ”#box” });

如果要附加class,可以指定facebox的第二个参数,例如:

jQuery.facebox({ ajax: ''remote.html'' }, ''my-groovy-style'');

同时还可以将函数作为facebox方法的每一个参数,这个函数通过完成Ajax调用,并将结果填充到Facebox提示框中,在操作完成前会自动显示一个loading图片,例如:

jQuery.facebox(function() {
  jQuery.get(''code.js'', function(data) {
    jQuery.facebox(''<textarea>'' + data + ''</textarea>'')
  })
})

事件

Facebox还提供了多个事件,利用它们可以更方便地编程:

  • loading.facebox
  • beforeReveal.facebox
  • reveal.facebox,或afterReveal.facebox
  • init.facebox

使用时,只需要简单地绑定某个处理函数到这些事件上就可以上,如:

$(document).bind(''reveal.facebox'', function() {/*做一些事情*/})


相关文章推荐

人脸检测——Compact CascadeCNN

本次介绍一篇速度爆表人脸检测文章:《2015 Arxiv: Compact Convolutional Neural Network Cascade for Face Detection》.作者有一个...

ScaleFace —— 尺度友好人脸检测

一篇关于如何处理多尺度人脸检测的文章。 从核心方法上来说和SSD没有本质的区别,只不过在实现细节上做了一些更为细致的工作。文章链接: 《Face Detection through Scale-Fri...

FaceBoxes —— CPU上实时的人脸检测

一篇速度还可以的多尺度人脸检测文章。 方法和SSD大同小异。文章链接: 《FaceBoxes: A CPU Real-time Face Detector with High Accuracy》1. ...

S3FD: Single Shot Scale-invariant Face Detector

一篇同样着重处理人脸尺度问题的检测文章。 方法可以看作是对SSD的改进与完善,速度较慢(36FPS with Titan X & VGA)。文章链接: 《S3FD: Single Shot Scale...

DenseNet

2017CVPR Best Paper: 《Densely Connected Convolutional Networks》Github项目主页: https://github.com/liuzhu...

Scale-Aware Face Detection

2017CVPR 文章链接: 《Scale-Aware Face Detection》对于人脸检测,通常我们需要采用各种手段小心的处理多尺度的问题。事实上,对于很多待检测图像,其只在某个尺度上才有人脸...

facebox中div使用方法

想做一个类似新浪微薄、人人那样的提示框,点击保存,显示一个悬浮的div,间隔几秒就消失,在网上找了很多,都没满足需求。最后无意间,发现了facebox,非常贴合需求。但是demo和网上资料,都是使用一...

人脸检测——DDFD

本文所介绍的人脸检测,主要学习和实现了ICMR-2015年雅虎实验室的文章”Multi-view Face Detection Using Deep Convolutional Neural Netw...

YOLO如何训练分类网络???

一般YOLO的工程应用直接上检测,源自作者提供了分类的预训练模型,但是如果自己改网络训练怎么办?预训练网络没有怎么办?熬到开!!! 不怕,两种方法可以解决! 第一种:比较笨的方法,就是下载imagen...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)