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 输出内容到新窗口具体实现代码
May 31 Javascript
jquery实现的下拉和收缩效果示例
Aug 21 Javascript
微信小程序开发经验总结(推荐)
Jan 11 Javascript
基于vue2.0实现简单轮播图
Nov 27 Javascript
Vue脚手架的简单使用实例
Jul 10 Javascript
vue+express 构建后台管理系统的示例代码
Jul 19 Javascript
layer弹出层父子页面事件相互调用方法
Aug 17 Javascript
微信小程序自定义导航栏
Dec 31 Javascript
JavaScript动态创建二维数组的方法示例
Feb 01 Javascript
JS实现旋转木马轮播图
Jan 01 Javascript
详解用js代码触发dom事件的实现方案
Jun 10 Javascript
vue-router定义元信息meta操作
Dec 07 Vue.js
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
玩转虚拟域名◎+ .
2006/10/09 PHP
完美解决PHP中文乱码
2009/11/26 PHP
jQuery EasyUI API 中文文档 - DateBox日期框
2011/10/15 PHP
php+mysqli事务控制实现银行转账实例
2015/01/29 PHP
Joomla数据库操作之JFactory::getDBO用法
2016/05/05 PHP
yii 框架实现按天,月,年,自定义时间段统计数据的方法分析
2020/04/04 PHP
Gambit vs CL BO3 第三场 2.13
2021/03/10 DOTA
Expandable &quot;Detail&quot; Table Rows
2007/08/29 Javascript
javascript eval函数深入认识
2009/02/21 Javascript
JavaScript 面向对象之命名空间
2010/05/04 Javascript
一个实用的图片切换支持点击切换和自动轮播
2014/09/09 Javascript
jQuery增加与删除table列的方法
2016/03/01 Javascript
解决ajax不能访问本地文件问题(利用js跨域原理)
2017/01/24 Javascript
深入浅析javascript函数中with
2018/10/28 Javascript
vue中的过滤器实例代码详解
2019/06/06 Javascript
详解vue+axios给开发环境和生产环境配置不同的接口地址
2019/08/16 Javascript
JS回调函数简单易懂的入门实例分析
2019/09/29 Javascript
nodemon实现Typescript项目热更新的示例代码
2019/11/19 Javascript
推荐几个不错的console调试技巧实现
2019/12/20 Javascript
Selenium执行JavaScript脚本的方法示例
2020/12/31 Javascript
在Python的web框架中中编写日志列表的教程
2015/04/30 Python
Python中线程编程之threading模块的使用详解
2015/06/23 Python
python 开发的三种运行模式详细介绍
2017/01/18 Python
Python如何实现守护进程的方法示例
2017/02/08 Python
浅谈Python3中strip()、lstrip()、rstrip()用法详解
2019/04/29 Python
numpy ndarray 按条件筛选数组,关联筛选的例子
2019/11/26 Python
python实现局域网内实时通信代码
2019/12/22 Python
使用keras实现非线性回归(两种加激活函数的方式)
2020/07/05 Python
Python结合Window计划任务监测邮件的示例代码
2020/08/05 Python
CSS3教程:background-clip和background-origin
2008/10/17 HTML / CSS
canvas学习总结三之绘制路径-线段
2019/01/31 HTML / CSS
运动会100米解说词
2014/01/23 职场文书
分公司经理任命书
2014/06/05 职场文书
2014年祖国生日寄语
2014/09/19 职场文书
运输公司工作总结
2015/08/11 职场文书
Java Dubbo框架知识点梳理
2021/06/26 Java/Android