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跨域总结
Aug 30 Javascript
解析Jquery取得iframe中元素的几种方法
Jul 04 Javascript
javascript操作table(insertRow,deleteRow,insertCell,deleteCell方法详解)
Dec 16 Javascript
jQuery的animate函数实现图文切换动画效果
May 03 Javascript
JQuery boxy插件在IE中边角图片不显示问题的解决
May 20 Javascript
浅谈window对象的scrollBy()方法
Jul 15 Javascript
用jQuery向div中添加Html文本内容的简单实现
Jul 13 Javascript
使用jQuery的ajax方法向服务器发出get和post请求的方法
Jan 13 Javascript
浅谈js中用$(#ID)来作为选择器的问题(id重复的时候)
Feb 14 Javascript
详解如何将angular-ui的图片轮播组件封装成一个指令
May 09 Javascript
vue设置全局访问接口API地址操作
Aug 14 Javascript
原生js 实现表单验证功能
Feb 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学习笔记之面向对象
2014/11/08 PHP
PHP使用PDO操作数据库的乱码问题解决方法
2016/04/08 PHP
php实现遍历文件夹的方法汇总
2017/03/02 PHP
有趣的javascript数组定义方法
2010/09/10 Javascript
Javascript执行效率全面总结
2013/11/04 Javascript
如何从jQuery的ajax请求中删除X-Requested-With
2013/12/11 Javascript
JavaScript中使用Object.prototype.toString判断是否为数组
2015/04/01 Javascript
Javascript实现Array和String互转换的方法
2015/12/21 Javascript
深入理解jQuery之事件移除
2016/06/02 Javascript
bootstrap fileinput完整实例分享
2016/11/08 Javascript
Javascript 数组去重的方法(四种)详解及实例代码
2016/11/24 Javascript
AngularJS学习第二篇 AngularJS依赖注入
2017/02/13 Javascript
vue2.0 element-ui中el-select选择器无法显示选中的内容(解决方法)
2018/08/24 Javascript
Vue中遍历数组的新方法实例详解
2019/07/21 Javascript
如何用vue-cli3脚手架搭建一个基于ts的基础脚手架的方法
2019/12/12 Javascript
基于JavaScript实现随机点名器
2021/02/25 Javascript
[03:36]DOTA2完美大师赛coL战队趣味视频——我演你猜
2017/11/23 DOTA
在Docker上部署Python的Flask框架的教程
2015/04/08 Python
详解在Python和IPython中使用Docker
2015/04/28 Python
python实现多线程的方式及多条命令并发执行
2016/06/07 Python
Windows环境下python环境安装使用图文教程
2018/03/13 Python
Django中使用haystack+whoosh实现搜索功能
2019/10/08 Python
python pyenv多版本管理工具的使用
2019/12/23 Python
python 通过pip freeze、dowload打离线包及自动安装的过程详解(适用于保密的离线环境
2020/12/14 Python
css3的transition效果和transfor效果示例介绍
2013/10/30 HTML / CSS
anello泰国官方网站:日本流行包包品牌
2019/08/08 全球购物
大学生求职简历的自我评价范文
2013/10/12 职场文书
超市营业员岗位职责
2013/12/20 职场文书
公务员培训心得体会
2013/12/28 职场文书
大学生个人先进事迹材料范文
2014/05/03 职场文书
老龄工作先进事迹
2014/08/15 职场文书
幼儿园大班毕业评语
2014/12/31 职场文书
学习经验交流会总结
2015/11/02 职场文书
解决Python字典查找报Keyerror的问题
2021/05/26 Python
前端使用svg图片改色实现示例
2022/07/23 HTML / CSS
微信小程序纯CSS实现无限弹幕滚动效果
2022/09/23 HTML / CSS