注:通过json对象的方式传递参数,参数具体信息由json对象来封装,参数封装到对象中再进行映射(参数映射)

shadow.js

//使用参数映射方式实现参数设置
/* option:参数对象,封装所有参数信息
* option.slices:阴影
* option.opacity:透明度
* option.zIndex:层级
* */
jQuery.fn.shadow_map = function (option) {
//获取到每个已封装的元素
//this表示jQuery对象
this.each(function () {
$obj = $(this);//将遍历出来的元素转换成jQuery对象
//更改i的值:10 20都可以,能够改变阴影效果
for (var i = 0; i <option.slices; i++) {
var $newObj = $obj.clone();//克隆出来5个新的对象
//确定元素的位置。使用绝对定位,设置top和left的值偏移量大小决定最终的阴影位置
$newObj.css({
position: "absolute",
top: $obj.offset().top + i,
left: $obj.offset().left + i,
zIndex: option.zIndex,//层级并没有太大关系,
margin: 0,
opacity: option.opacity
}).appendTo("body");
}
});
} html:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>demo</title>
<script src="js/jquery.min.js"></script>
<script src="js/shadow.js"></script>
<script>
$(document).ready(function(){
// $("h1").shadow();//调用对象方法的效果
// $("h1").shadow_simple(7,0.3,-1);//调用简单参数实现效果,Y用户自己传递参数
// $("h1").shadow_map(10,0.5,-1);//这样直接传递参数是不会识别的,因为这样无法识别到它的属性
$("h1").shadow_map({
slices:10,
opacity:0.5,
zIndex:-1
});
});
</script>
</head>
<body>
<h1>Hello My Name Is Anny</h1>
</body>
</html>

最新文章

  1. OSG 初始化为非全屏窗口
  2. MySQL使用随笔
  3. Codeforces 418d Big Problems for Organizers [树形dp][倍增lca]
  4. mysql中group_concat函数用法
  5. [JS练习] 瀑布流照片墙
  6. Android中的跨进程通信方法实例及特点分析(二):ContentProvider
  7. 新秀系列C/C++经典问题(四)
  8. java继承(一)
  9. [undefined,1] 和 [,1]的区别在哪里--认识js中的稀疏数组
  10. gulp learning note
  11. 开发一个项目之npm
  12. Java Scanner篇
  13. Shell 实践、常用脚本进阶
  14. Docker集群管理portainer的使用
  15. js循环对象,(多层数组)
  16. elasticsearch的索引操作和文档操作总结
  17. pycurl提示load dll failed 找不到注册程序
  18. day 74 vue 2 axios数据请求 以及组件的学习
  19. Vakuum开发笔记02 核心与安全问题
  20. 奇怪吸引子---ChenLee

热门文章

  1. SQL SERVER 2008 R2安装的时候提示“该实例名称MSSQLSERVER已在使用
  2. Django学习手册 - ORM sqlit基础数据库操作
  3. Django 基于类的通用视图
  4. jquery判断表单内容是否为空
  5. Spring3.2+mybatis3.2+Struts2.3整合
  6. mac 电脑连接linux 服务器
  7. 反卷积(deconvolution)
  8. Node.js的单元测试框架初体验
  9. canner CMS 系统 (公司在台湾) https://www.canner.io/
  10. git与eclipse集成之创建及切换个人本地分支