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 相关文章推荐
用js+xml自动生成表格的东西
Dec 21 Javascript
解决3.01版的jquery.form.js中文乱码问题的解决方法
Mar 08 Javascript
js从10种颜色中随机取色实现每次取出不同的颜色
Oct 23 Javascript
JavaScript获取按钮所在form表单id的方法
Apr 02 Javascript
使用jQuery操作HTML的table表格的实例解析
Mar 13 Javascript
Angular.js中用ng-repeat-start实现自定义显示
Oct 18 Javascript
JQuery实现列表中复选框全选反选功能封装(推荐)
Nov 24 Javascript
基于angular2 的 http服务封装的实例代码
Jun 29 Javascript
详解如何使用Node.js编写命令工具——以vue-cli为例
Jun 29 Javascript
Vue自定义指令使用方法详解
Aug 21 Javascript
vue3使用vuedraggable实现拖拽功能
Apr 06 Vue.js
TS 类型收窄教程示例详解
Sep 23 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
PHP 和 COM
2006/10/09 PHP
Fatal error: Call to undefined function curl_init()解决方法
2010/04/09 PHP
PHP简单实现生成txt文件到指定目录的方法
2016/04/25 PHP
[原创]smarty简单模板变量输出方法
2016/07/09 PHP
jquery 关键字“拖曳搜索”之“拖曳”以及 图片“提示自适应放大”效果 的实现
2010/04/18 Javascript
dess中一个简单的多路委托的实现
2010/07/20 Javascript
javascript下高性能字符串连接StringBuffer类
2010/08/16 Javascript
javascript学习(一)构建自己的JS库
2013/01/02 Javascript
Javascript中判断变量是数组还是对象(array还是object)
2013/08/14 Javascript
nodejs获取本机内网和外网ip地址的实现代码
2014/06/01 NodeJs
javascript设置连续两次点击按钮时间间隔的方法
2014/10/28 Javascript
简单谈谈javascript代码复用模式
2015/01/28 Javascript
浅谈jQuery的offset()方法及示例分享
2015/07/17 Javascript
JavaScript使用FileSystemObject对象写入文本文件内容的方法
2015/08/05 Javascript
Jquery技巧(必须掌握)
2016/03/16 Javascript
如何判断出一个js对象是否一个dom对象
2016/11/24 Javascript
简单实现nodejs上传功能
2017/01/14 NodeJs
深入对Vue.js $watch方法的理解
2017/03/20 Javascript
vue基于mint-ui的城市选择3级联动的示例
2017/10/25 Javascript
JS+WCF实现进度条实时监测数据加载量的方法详解
2017/12/19 Javascript
vue iView 上传组件之手动上传功能
2018/03/16 Javascript
vue 指定组件缓存实例详解
2018/04/01 Javascript
AngularJS自定义过滤器用法经典实例总结
2018/05/17 Javascript
node省市区三级数据性能测评实例分析
2019/11/06 Javascript
Python实现的端口扫描功能示例
2018/04/08 Python
python根据txt文本批量创建文件夹
2020/12/08 Python
pytorch 移动端部署之helloworld的使用
2020/10/30 Python
传统HTML页面实现模块化加载的方法
2018/10/15 HTML / CSS
MCAKE蛋糕官方网站:一直都是巴黎的味道
2018/02/06 全球购物
教育学专业毕业生的自我评价
2013/11/21 职场文书
财务管理个人自荐书范文
2013/11/24 职场文书
保护水资源的标语
2014/06/17 职场文书
干部个人对照检查材料
2014/08/25 职场文书
国际政治学专业推荐信
2014/09/26 职场文书
收入及婚姻状况证明
2014/11/20 职场文书
一篇文章搞懂python混乱的切换操作与优雅的推导式
2021/08/23 Python