【JQuery插件】扑克正反面翻牌效果

里面有两个demo,支持X横向和Y纵向翻转两个效果。

对元素的布局有一定的讲究,需要分析一下demo的css。

默认翻转速度为80,不要大于100ms。

<!DOCTYPE>
<html>
	<head>
		<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
		<title>【JQuery插件】扑克正反面翻牌效果</title>
		<style>
			*{margin:0px;padding:0px;list-style:none;font-size: 16px;}
		</style>

	</head>
	<body>
		<style>
			.demo1 {margin:10px; width: 200px;height: 100px;text-align: center;position: relative;}
			.demo1 .front{width: 200px;height: 100px;position:absolute;left:0px;top:0px;background-color: #000;color: #fff;}
			.demo1 .behind{width: 200px;height: 0px;position:absolute;left:0px;top:50px;background-color: #ccc;color: #000;display: none;}
		</style>
		<h1>demo1 y轴 (css布局提示:背面默认隐藏 height为0 top是高度的一半也就是demo中间)</h1>
		<div class="demo1">
			<div class="front">正面正面正<br/>面正面正面<br/></div>
			<div class="behind">背面</div>
		</div>

		<div class="demo1">
			<div class="front">正面</div>
			<div class="behind">背面</div>
		</div>

		<style>
			.demo2 {margin:10px; width: 200px;height: 100px;text-align: center;position: relative;}
			.demo2 .front{width: 200px;z-index: 1; height: 100px;position:absolute;left:0px;top:0px;background-color: #000;color: #fff;}
			.demo2 .behind{width: 0;height: 100px;z-index: 0;position:absolute;left:100px;top:0;background-color: #ccc;color: #000;}
		</style>
		<h1>demo2 x轴(css布局提示:背面默认隐藏 width为0 left是宽度的一半也就是demo中间)</h1>
		<div class="demo2">
			<div class="front">正面</div>
			<div class="behind">背面</div>
		</div>

		<div class="demo2">
			<div class="front">正面</div>
			<div class="behind">背面</div>
		</div>

<script type="text/javascript" src="http://static.cnmo-img.com.cn/js/jquery144p.js"></script>
<script>
(function($) {
	/*
	====================================================
	【JQuery插件】扑克翻牌效果
	@auther LiuMing
	@blog http://www.cnblogs.com/dtdxrk/
	====================================================
	@front:正面元素
	@behind:背面元素
	@direction:方向
	@dis:距离
	@mouse: ‘enter‘ ‘leave‘ 判断鼠标移入移出
	@speed: 速度 不填默认速度80 建议不要超过100
	*/
	var OverTurnAnimate = function(front, behind, direction, dis, mouse, speed){
		/*判断移入移出*/
		var $front = (mouse == ‘enter‘) ? front : behind,
			$behind = (mouse == ‘enter‘) ? behind : front;

		$front.stop();
		$behind.stop();

		if(direction == ‘x‘){
			$front.animate({left: dis/2,width: 0},speed, function() {
				$front.hide();
				$behind.show().animate({left: 0,width: dis},speed);
			});
		}else{
			$front.animate({top: dis/2,height: 0},speed, function() {
				$front.hide();
				$behind.show().animate({top: 0,height: dis},speed);
			});
		}
	};

	/*
	@demo
	$(‘.demo1‘).OverTurn(@direction, @speed);
	@direction(String)必选 ‘y‘ || ‘x‘ 方向
	@speed(Number)可选 速度
	*/
	$.fn.OverTurn = function(direction, speed) {
	    /*配置参数*/
	    if(direction!=‘x‘ && direction!=‘y‘){throw new Error(‘OverTurn arguments error‘);}
	    $.each(this, function(){
	    	var $this = $(this),
	    		$front = $this.find(‘.front‘),
	    		$behind = $this.find(‘.behind‘),
	    		dis = (direction==‘x‘) ? $this.width() :$this.height(),
	    		s = Number(speed) || 80;/*默认速度80 建议不要超过100*/

	      	$this.mouseenter(function() {
  				OverTurnAnimate($front, $behind, direction, dis, ‘enter‘, s);
			}).mouseleave(function() {
  				OverTurnAnimate($front, $behind, direction, dis, ‘leave‘, s);
			});
	    });
	};

})(jQuery);

/*插件引用方法y*/
$(‘.demo1‘).OverTurn(‘y‘,100);/*speed不填默认速度80 建议不要超过100*/

/*插件引用方法x*/
$(‘.demo2‘).OverTurn(‘x‘);
</script>
</body>
</html>

  

时间: 2024-08-27 15:07:29

【JQuery插件】扑克正反面翻牌效果的相关文章

【CSS3 DEMO】扑克正反面翻牌效果

用到两个属性: 一个是动画时间 transition-duration: 0.8s; -moz-transition-duration: 0.8s; -webkit-transition-duration: 0.8s; -o-transition-duration: 0.8s; 一个是3d transform: rotate3d(0,1,0,-180deg); -webkit-transform: rotate3d(0,1,0,-180deg); -moz-transform: rotate3d

ASP.NET中使用jQuery插件实现图片幻灯效果

参照网上的资料及提供的jQuery插件实现图片幻灯效果. 1.页面前台代码: //头部引用 <head runat="server"><title></title><script type="text/javascript" src="scripts/jquery/jquery-1.10.2.min.js"></script><script type="text/java

【jquery插件】-网页下雪效果

又到了年底,从圣诞节开始,可以发现各大网站的活动是越来越多,都变的银装素裹,本人由于业务需求也需要做这么一个效果,所以就通过google大神找了一下相关资源,结果就出现了N种雪花效果的方式.种类繁多,最后找到了本文看到的这种效果,原作者写的可以说已经满足了我的需求,但是为了符合更多的场景,又再原作者的基础上做了调整. 声明:本文核心代码归原作者@Ivan Lazarevic(https://github.com/kopipejst)所有,本人只增加了一些参数和效果 兼容性:除IE外各主流浏览器(

CSS3 border-image详解、应用及jQuery插件

by zhangxinxu from http://www.zhangxinxu.com本文地址:http://www.zhangxinxu.com/wordpress/?p=518 一.border-image的兼容性border-image可以说是CSS3中的一员大将,将来一定会大放光彩,其应用潜力真的是非常的惊人.可惜目前支持的浏览器有限,仅Firefox3.5,chrome浏览器,Safari3+支持border-image.所以,就本文而言,IE浏览器可以回家休息了,Firefox3及

【最新】2015年7月之15个最新jQuery插件

Hello,一个激动人心的好消息,现在我为大家整理最近7月发布的jQuery插件. 如果你熟悉任何下面列出的插件,请分享你的反馈与我们的读者,或如果你知道哪一个我们没有收录,那么请与我们分享在下面的评论部分. 我们希望你会发现这个列表下面这个列表对您很有用. 1. 固定表头 固定表头是一个jQuery塞进任何有效的表创建固定表头表标记了. 2. Stackgrid.adem.js stackgrid.adem.js 是一个非常快速和简单的JavaScript插件,帮助你创建一个动态级联网格 3.

2013年优秀jQuery插件

转载于:http://www.cnblogs.com/feng524822/p/3319534.html 今天为大家推荐的是2013年的第一期,在这期里面十个jQuery插件涵盖了响应式的 网格布局插件.图片放大插件.表单元素中自定义select插件,google 地图插件.文件拖放上传插件.tooltip提示插件.3D旋转菜单等等.这些插件的官网都提供了详细的API和相关代码下载,也提供了一些案例展示,可 以说稍懂一点前端的同学按照他们提供的API就会使用这些插件. 1.Makisu : jQ

javascript设计模式实践之迭代器--具有百叶窗切换图片效果的JQuery插件(一)

类似于幻灯片的切换效果,有时需要在网页中完成一些图片的自动切换效果,比如广告,宣传,产品介绍之类的,那么单纯的切就没意思了,需要在切换的时候通过一些效果使得切换生动些. 比较常用之一的就是窗帘切换了. 先贴上完成的效果. 实现原理不复杂,在动的一条一条的称之为“窗帘条”或者是“strip”,每一个strip都是一个div,类似于雪碧图的方式将其背景图的位置设置为strip的可视位置,然后用jquery的animate让他们按照一定规律动起来就完成窗帘切换效果了. 为了使用方便,将这个功能作为jq

jQuery插件实例四:手风琴效果[无动画版]

手风琴效果就是内容的折叠与打开,在这个插件中,使用了三种数据来源:1.直接写在DOM结构中:2.将数据写在配置项中:3.从Ajax()中获取数据.在这一版中,各项的切换没有添加动画效果,在下一版中会是有动画效果的. 在这个插件中,CSS和JS的配置非常重要,需要特别注意.另外,加个思考,请先看完后再想这个问题:当点击其中某项时,给width直接添加animate是否合适,当快速在其上移动时,如何保证效果? 效果图预览 插件JS accordionB.js 1 ; 2 (function ($,

javascript设计模式实践之职责链--具有百叶窗切换图片效果的JQuery插件(三)

在上一篇<javascript设计模式实践之模板方法--具有百叶窗切换图片效果的JQuery插件(二)>里,通过采用模板方法模式完成了切换效果对象的构建编写. 接下来就是完成各效果对象的调用和联动. 切换要求:当前图片显示指定时间后执行切换效果并切换下一张图片,最后一个切换后从头开始. 按照要求一个效果对象完成后要执行下一个,最后一个完成后要从头开始, 看上去就是一个带状态通知的环形列表,类似于这样的特征,可以采用职责链模式来构建. 职责链就是由不同的功能处理构成的链表,每一个功能处理作为一个