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 相关文章推荐
用javascript实现的激活输入框后隐藏初始内容
Jun 29 Javascript
给jQuery方法添加回调函数一款插件的应用
Jan 21 Javascript
JS中产生标识符方式的演变
Jun 12 Javascript
用Move.js配合创建CSS3动画的入门指引
Jul 22 Javascript
实例讲解jQuery中对事件的命名空间的运用
May 24 Javascript
JavaScript简单下拉菜单特效
Sep 13 Javascript
详解vue2.0脚手架的webpack 配置文件分析
May 27 Javascript
JS声明对象时属性名加引号与不加引号的问题及解决方法
Feb 16 Javascript
jQuery实现鼠标点击处心形漂浮的炫酷效果示例
Apr 12 jQuery
详解Vue.js使用Swiper.js在iOS
Sep 10 Javascript
详解vue-cli中使用rem,vue自适应
May 06 Javascript
微信小程序实现左侧滑动导航栏
Apr 08 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实现数组按指定KEY排序的方法
2015/03/30 PHP
php cli配置文件问题分析
2015/10/15 PHP
PHP+Ajax实现的检测用户名功能简单示例
2019/02/12 PHP
php使用lua+redis实现限流,计数器模式,令牌桶模式
2019/04/04 PHP
PHP+iframe模拟Ajax上传文件功能示例
2019/07/02 PHP
jQuery总体架构的理解分析
2011/03/07 Javascript
js模仿jquery的写法示例代码
2013/06/16 Javascript
JavaScript+CSS实现仿天猫侧边网页菜单效果
2015/08/25 Javascript
JavaScript实现DOM对象选择器
2016/09/24 Javascript
js通过classname来获取元素的方法
2016/11/24 Javascript
旺旺在线客服代码 旺旺客服代码生成器
2018/01/09 Javascript
使用vux实现上拉刷新功能遇到的坑
2018/02/08 Javascript
详解vue添加删除元素的方法
2018/06/30 Javascript
小程序测试后台服务的方法(ngrok)
2019/03/08 Javascript
[01:41]DOTA2超级联赛专访YYF 称一辈子难忘TI2
2013/05/28 DOTA
Python的网络编程库Gevent的安装及使用技巧
2016/06/24 Python
Python爬取三国演义的实现方法
2016/09/12 Python
详解python的webrtc库实现语音端点检测
2017/05/31 Python
Python中pandas dataframe删除一行或一列:drop函数详解
2018/07/03 Python
python调用tcpdump抓包过滤的方法
2018/07/18 Python
python+PyQT实现系统桌面时钟
2020/06/16 Python
python实现截取屏幕保存文件,删除N天前截图的例子
2019/08/27 Python
django 模版关闭转义方式
2020/05/14 Python
Python常用数据分析模块原理解析
2020/07/20 Python
selenium切换标签页解决get超时问题的完整代码
2020/08/30 Python
浅谈anaconda python 版本对应关系
2020/10/07 Python
html5 浏览器支持 如何让所有的浏览器都支持HTML5标签样式
2012/12/07 HTML / CSS
美国网上书店:Barnes & Noble
2018/08/15 全球购物
Diamondback自行车:拥有你的冒险
2019/04/22 全球购物
Unix里面如何在后台运行程序
2016/10/14 面试题
协议书模板
2014/04/23 职场文书
高中毕业典礼演讲稿
2014/09/09 职场文书
机关作风建设剖析材料
2014/10/11 职场文书
教师批评与自我批评心得体会
2014/10/16 职场文书
活动总结书怎么写
2015/05/11 职场文书
寻找成龙观后感
2015/06/12 职场文书