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中的ready函数冲突的解决方法
May 17 Javascript
基于jquery的内容循环滚动小模块(仿新浪微博未登录首页滚动微博显示)
Mar 28 Javascript
通过伪协议解决父页面与iframe页面通信的问题
Apr 05 Javascript
javascript伸缩菜单栏实现代码分享
Nov 12 Javascript
JS实现的表格操作类详解(添加,删除,排序,上移,下移)
Dec 22 Javascript
js实现文字垂直滚动和鼠标悬停效果
Dec 31 Javascript
JQuery点击行tr实现checkBox选中的简单实例
May 26 Javascript
LayUi中接口传数据成功,表格不显示数据的解决方法
Aug 19 Javascript
用vue-cli开发vue时的代理设置方法
Sep 20 Javascript
vue-router权限控制(简单方式)
Oct 29 Javascript
详解vue更改头像功能实现
Apr 28 Javascript
VueCli生产环境打包部署跨域失败的解决
Nov 13 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
Ajax+PHP 边学边练之四 表单
2009/11/27 PHP
php模拟asp中的XmlHttpRequest实现http请求的代码
2011/03/24 PHP
php中计算程序运行时间的类代码
2012/11/03 PHP
php自动识别文字编码并转换为目标编码的方法
2015/08/08 PHP
PHP开发中AJAX技术的简单应用
2015/12/11 PHP
IE和FireFox(FF)中js和css的不同
2009/04/13 Javascript
JQUERY操作JSON实例代码
2010/02/09 Javascript
js 弹出框 替代浏览器的弹出框
2010/10/29 Javascript
javascript 获取元素样式必杀技
2014/05/04 Javascript
详解JavaScript语法对{}处理的坑爹之处
2014/06/05 Javascript
jquery实现倒计时代码分享
2014/06/13 Javascript
Bootstrap教程JS插件弹出框学习笔记分享
2016/05/17 Javascript
Angular 路由route实例代码
2016/07/12 Javascript
Bootstrap CDN和本地化环境搭建
2016/10/26 Javascript
利用js的闭包原理做对象封装及调用方法
2017/04/07 Javascript
Vue.js手风琴菜单组件开发实例
2017/05/16 Javascript
AngularJS ionic手势事件的使用总结
2017/08/09 Javascript
微信小程序使用npm支持踩坑
2018/11/07 Javascript
Django的数据模型访问多对多键值的方法
2015/07/21 Python
django2用iframe标签完成网页内嵌播放b站视频功能
2018/06/20 Python
python实现随机漫步算法
2018/08/27 Python
python根据txt文本批量创建文件夹
2020/12/08 Python
python中tkinter的应用:修改字体的实例讲解
2019/07/17 Python
pytorch加载自定义网络权重的实现
2020/01/07 Python
Python搭建Keras CNN模型破解网站验证码的实现
2020/04/07 Python
Python爬虫基于lxml解决数据编码乱码问题
2020/07/31 Python
python 实现一个简单的线性回归案例
2020/12/17 Python
Html5写一个简单的俄罗斯方块小游戏
2019/12/03 HTML / CSS
Ray-Ban雷朋西班牙官网:全球领先的太阳眼镜品牌
2018/11/28 全球购物
英文求职信写作小建议
2014/02/16 职场文书
公司捐款倡议书
2014/05/14 职场文书
医学专业大学生求职信
2014/07/12 职场文书
护理实习生带教计划
2015/01/16 职场文书
2019最新版劳务派遣管理制度
2019/08/16 职场文书
Vue实现tab导航栏并支持左右滑动功能
2021/06/28 Vue.js
SQL Server2019数据库备份与还原脚本,数据库可批量备份
2021/11/20 SQL Server