jquery 卷帘效果实现代码(不同方向)


Posted in Javascript onFebruary 05, 2013

jquery 卷帘效果实现代码(不同方向)
demo01.htm

<!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"> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
<title>方向反馈</title> 
<style type="text/css"> 
html,body{margin:0;padding:50px;} 
#wrap{position:relative;width:400px;height:300px;background:#33aa00;margin:50px;display:inline-block;font-size:50px;text-align:center;line-height:300px;overflow:hidden;} 
</style> 
<body> 
<div id="wrap"> 
方向反馈 
</div> 
<div id="result" > 
<span style="color:#FFF;">反馈方向</span> 
</div> 
<script src="../jquery-1.8.0.min.js" type="text/javascript"></script> 
<script src="rollingMask-0.1.0.js" type="text/javascript"></script> 
<script type="text/javascript"> 
$(document).ready(function(){ 
$.rollingMask({ 
objId:"wrap", 
content:$("#result").html() 
}); 
}); 
</script> 
</body> 
</html>

rollingMask-0.1.0.js
/** 
* 不同方向的卷帘效果 
* 
**/ 
$.extend({ 
rollingMask:function(opt,callback){ 
this.defaults = { 
objId:"", // 容器id 
content:"test", // 卷帘内容 
opacity: 0.8, 
fadeSpeed:150 // 卷帘消失的时间 
}; 
// 参数初始化 
var opts = $.extend(this.defaults,opt); var contentId = opts.objId + "_content"; 
var showId = opts.objId + "_show"; 
$("#" + opts.objId).bind("mouseenter mouseleave", 
function(e) { 
var w = $(this).width(); 
var h = $(this).height(); 
var x = (e.pageX - this.offsetLeft - (w / 2)) * (w > h ? (h / w) : 1); 
var y = (e.pageY - this.offsetTop - (h / 2)) * (h > w ? (w / h) : 1); 
var direction = Math.round((((Math.atan2(y, x) * (180 / Math.PI)) + 180) / 90) + 3) % 4; 
var eventType = e.type; 
if(e.type == 'mouseenter'){ 
$("#" + opts.objId).append("<div id=\"" + contentId+ "\">" + opts.content + "</div>"); 
$("#" + contentId).css({ 
"position":"absolute", 
"width":w + "px", 
"height":h + "px", 
"top":"0px", 
"left":"0px", 
"background":"#F55", 
opacity:opts.opacity 
}); 
switch(direction){ 
case 0: 
$("#" + contentId).css("top",-h + "px"); 
break; 
case 1: 
$("#" + contentId).css("left",w + "px"); 
break; 
case 2: 
$("#" + contentId).css("top",h + "px"); 
break; 
case 3: 
$("#" + contentId).css("left",-w + "px"); 
break; 
} 
$("#" + contentId).animate({"top":"0px","left":"0px"}); 
}else{ 
$("#" + contentId).fadeOut(opts.fadeSpeed, function(){ 
$("#" + contentId).remove(); 
}); 
} 
} 
); 
} 
});
Javascript 相关文章推荐
关于jquery append() html时的小问题的解决方法
Dec 16 Javascript
jquery 笔记 事件
Nov 02 Javascript
深入理解JavaScript系列(7) S.O.L.I.D五大原则之开闭原则OCP
Jan 15 Javascript
js无刷新操作table的行和列
Mar 27 Javascript
Javascript基础知识(二)事件
Sep 29 Javascript
JavaScript 实现的 zip 压缩和解压缩工具包Zip.js使用详解
Dec 14 Javascript
JS给swf传参数的实现方法
Sep 13 Javascript
详解Vue爬坑之vuex初识
Jun 14 Javascript
angularjs实现简单的购物车功能
Sep 21 Javascript
实现jquery放大镜的两种方法
Feb 22 jQuery
javascript少儿编程关于返回值的函数内容
May 27 Javascript
用javascript制作qq注册动态页面
Apr 14 Javascript
window.open关于浏览器拦截问题分析及解决方法
Feb 05 #Javascript
jQuery.prototype.init选择器构造函数源码思路分析
Feb 05 #Javascript
jQuery不间断滚动效果(模拟百度新闻支持文字/图片/垂直滚动)
Feb 05 #Javascript
得到jQuery detach()后节点中的某个值实现代码
Feb 05 #Javascript
jquery zTree异步加载简单实例分享
Feb 05 #Javascript
JS打印gridview实现原理及代码
Feb 05 #Javascript
漂亮的jquery提示效果(仿腾讯弹出层)
Feb 05 #Javascript
You might like
第十五节--Zend引擎的发展
2006/11/16 PHP
PHP中key和current,next的联合运用实例分析
2016/03/29 PHP
实例分析PHP中PHPMailer发邮件
2017/12/13 PHP
Javascript中eval函数的使用方法与示例
2007/04/09 Javascript
(仅IE下有效)关于checkbox 三态
2007/05/12 Javascript
JavaScript 语法集锦 脚本之家基础推荐
2009/11/15 Javascript
初试jQuery EasyUI 使用介绍
2010/04/01 Javascript
jQuery JSON实现无刷新三级联动实例探讨
2013/05/28 Javascript
JS基于FileSystemObject创建一个指定路径的TXT文本文件
2015/08/05 Javascript
详解maxlength属性在textarea里奇怪的表现
2015/12/27 Javascript
Javascript之Date对象详解
2016/06/07 Javascript
jQuery实现背景滑动菜单
2016/12/02 Javascript
JavaScript中in和hasOwnProperty区别详解
2017/08/04 Javascript
Angular-UI Bootstrap组件实现警报功能
2018/07/16 Javascript
vue踩坑记录之数组定义和赋值问题
2019/03/20 Javascript
Vue编写可显示周和月模式的日历 Vue自定义日历内容的显示
2019/06/26 Javascript
[01:25:38]DOTA2-DPC中国联赛 正赛 VG vs LBZS BO3 第一场 1月19日
2021/03/11 DOTA
python实现批量改文件名称的方法
2015/05/25 Python
对Python捕获控制台输出流的方法详解
2019/01/07 Python
基于Python+Appium实现京东双十一自动领金币功能
2019/10/31 Python
Python 词典(Dict) 加载与保存示例
2019/12/06 Python
Python开发企业微信机器人每天定时发消息实例
2020/03/17 Python
django表单中的按钮获取数据的实例分析
2020/07/31 Python
解决Python3.7.0 SSL低版本导致Pip无法使用问题
2020/09/03 Python
Python爬虫自动化爬取b站实时弹幕实例方法
2021/01/26 Python
AmazeUI 面板的实现示例
2020/08/17 HTML / CSS
公益广告语集锦
2014/03/13 职场文书
法律进学校实施方案
2014/03/15 职场文书
爱岗敬业演讲稿
2014/05/05 职场文书
五五普法心得体会
2014/09/04 职场文书
2014五年级班主任工作总结
2014/12/05 职场文书
2015年汽车销售经理工作总结
2015/04/27 职场文书
如何起草一份正确的合伙创业协议书?
2019/07/04 职场文书
英镑符号 £
2022/02/17 杂记
VUE之图片Base64编码使用ElementUI组件上传
2022/04/09 Vue.js
解决WINDOWS电脑开机后桌面没有任何图标
2022/04/09 数码科技