热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

自己写的一个jQuery对联广告插件

效果图:文件的位置摆放:插件的代码:1;(function($){2$.extend({3dLAdv:function(options){4

效果图:

//左边图片路径
22 leftAlt:"advertising",//左边广告图片的alt值
23 rightSrc:"dlAdvPic.jpg",//右边图片路径
24 rightAlt:"advertising",//右边广告图片的alt值
25 leftZindex:800,//左边层级
26 rightZindex:800,//右边层级
27 strClose:"关闭",
28 //下面2项不做参数给出
29 leftClass:"dlBoxLeft",//左边class
30 rightClass:"dlBoxRight"//右边class
31 }
32 optiOns= $.extend(defaults,options);
33 var html="";
34 if(options.leftAdvStr===1){
35 html+="

";
36 html+="
+options.leftAlt+
";
37 html+="";
38 html+="
";
39 }
40 if(options.rightAdvStr===1){
41 html+="
";
42 html+="
+options.rightAlt+
";
43 html+="";
44 html+="
";
45 }
46 $("body").append(html);
47 $(".dlAdvLeftClose,.dlAdvRightClose").on("click",function(){
48 if($(this).is(".dlAdvLeftClose"))
49 $("."+options.leftClass).fadeOut(options.leftCloseTime,function(){
50 $(this).remove();
51 });
52 else if($(this).is(".dlAdvRightClose"))
53 $("."+options.rightClass).fadeOut(options.rightCloseTime,function(){
54 $(this).remove();
55 });
56 })
57
58
59 var leftAdv=$("."+options.leftClass),
60 rightAdv=$("."+options.rightClass),
61 dlAdvClose.dlAdvCloseDiv").eq(0).outerHeight();
62 leftAdv.css({"z-index":options.leftZindex});
63 rightAdv.css({"z-index":options.rightZindex});
64 function changeImgSize(imgObj,width,height){
65 height-=dlAdvCloseHeight;
66 imgObj.parent().width(width).height(height);
67 imgObj.css({height:"100%",width:"100%"});
68 }
69 function getAdvTop(pos,type){//pos,左,右,type,效果
70 if(type===0){
71 if(pos==="left"){
72 return {top:options.leftToTop+"px"};
73 }
74 else if(pos==="right"){
75 return {top:options.rightToTop+"px"};
76 }
77 }
78 else if(type===1){
79 var scrollTop=$(window).scrollTop();
80 var top=0;
81 if(pos==="left"){
82 top=options.leftToTop+scrollTop;
83 return {top:top+"px"};
84 }
85 else if(pos==="right"){
86 top=options.rightToTop+scrollTop;
87 return {top:top+"px"};
88 }
89
90 }
91 else{alert("方法getAdvTop的type有误")}
92 }
93 var leftAdvSize={width:options.leftWidth+"px",height:options.leftHeight+"px"};
94 var rightAdvSize={width:options.rightWidth+"px",height:options.rightHeight+"px"};
95 var leftAdvPos={left:options.leftToLeft+"px"};
96 var rightAdvPos={right:options.rightToRight+"px"};
97 changeImgSize($(".dlAdvleftImg"),options.leftWidth,options.leftHeight);
98 changeImgSize($(".dlAdvRightImg"),options.rightWidth,options.rightHeight);
99 function scrollMove(num){//num是数值,不同的数值表示的不同的缓慢恢复的对象
100 $(window).scroll(function(){
101 var scrollTop=$(window).scrollTop(),top=0;
102 if(num===-1){//左边
103 top=scrollTop+options.leftToTop;
104 setTimeout(function(){
105 leftAdv.css({top:top+"px"});
106 },options.leftTime);
107 }
108 else if(num===1){//右边
109 top=options.rightToTop+scrollTop;
110 // rightAdv.animate({top:top+"px"},1000)
111 setTimeout(function(){
112 //rightAdv.animate({top:top+"px"},1000)
113 rightAdv.css({top:top+"px"});
114 },options.rightTime)
115
116 }
117 else if(num===2){//两边
118 var leftTop=scrollTop+options.leftToTop;
119 var rightTop=scrollTop+options.rightToTop;
120 setTimeout(function(){
121 leftAdv.css({top:leftTop+"px"});
122 },options.leftTime)
123 setTimeout(function(){
124 rightAdv.css({top:rightTop+"px"});
125 },options.rightTime);
126 }
127 });
128 }
129 var whoMove=0;//0,都不缓慢移动,-1,左边缓慢移动,1表示右边缓慢移动,2表示都移动
130 if(options.leftType===0){//稳固不动
131 leftAdv.css({"position":"fixed"}).css(getAdvTop("left",options.leftType)).css(leftAdvSize).css(leftAdvPos);
132 }
133 else if(options.leftType===1){//缓慢恢复
134 leftAdv.css({"position":"absolute"}).css(getAdvTop("left",options.leftType)).css(leftAdvSize).css(leftAdvPos);
135 whoMove=-1;
136 }
137 else {
138 alert("左对联广告的效果参数传递有误");
139 }
140 if(options.rightType===0){
141 rightAdv.css({"position":"fixed"}).css(getAdvTop("right",options.rightType)).css(rightAdvSize).css(rightAdvPos);
142 }
143 else if(options.rightType===1){
144 rightAdv.css({"position":"absolute"}).css(getAdvTop("right",options.rightType)).css(rightAdvSize).css(rightAdvPos);
145 whoMove=(whoMove===0?1:2);
146 }
147 else {
148 alert("右对联广告的效果参数传递有误");
149 }
150 if(whoMove===0){}//都不缓慢恢复
151 else if(whoMove===-1){//左边缓慢移动
152 scrollMove(whoMove);
153 }
154 else if(whoMove===1){//右边缓慢移动
155 scrollMove(whoMove)
156 }
157 else if(whoMove===2){//左右都缓慢移动
158 scrollMove(whoMove)
159 }
160 }
161 });
162 })(jQuery);
163

css代码:

1 .dlBoxLeft{ border:1px solid #ccc;padding:3px;background-color:#efefef; } 
2 .dlBoxRight{border:1px solid #ccc;padding:3px; background-color:#efefef;}
3 .dlAdvLeftImgBox{ }
4 .dlAdvCloseDiv{background-image:url(dlCloseBj.jpg);background-repeat:repeat-x;height:25px;border-top:1px solid #ccc; margin-top:3px;}
5 .dlAdvClose{ /*width:auto; display:block;*/ font-size:12px; font-family:"宋体"; cursor:pointer;background-image:url(dlClosebutton.jpg); background-repeat:no-repeat; display:block;width:52px; height:19px; margin:0 auto; margin-top:3px;color:#7f7c7c; padding-left:8px; font-weight:bold; padding-top:1px; text-align:center; line-height:19px;}

插件的调用

1 $(function(){
2 $.dLAdv({leftAdvStr:1,leftType:0,rightAdvStr:1,rightType:1});
3 })

给页面一个div,让它撑出滚动条.

1 <div style="height:10000px;"> div>

 


推荐阅读
  • Java序列化对象传给PHP的方法及原理解析
    本文介绍了Java序列化对象传给PHP的方法及原理,包括Java对象传递的方式、序列化的方式、PHP中的序列化用法介绍、Java是否能反序列化PHP的数据、Java序列化的原理以及解决Java序列化中的问题。同时还解释了序列化的概念和作用,以及代码执行序列化所需要的权限。最后指出,序列化会将对象实例的所有字段都进行序列化,使得数据能够被表示为实例的序列化数据,但只有能够解释该格式的代码才能够确定数据的内容。 ... [详细]
  • vue使用
    关键词: ... [详细]
  • 本文讨论了在Windows 8上安装gvim中插件时出现的错误加载问题。作者将EasyMotion插件放在了正确的位置,但加载时却出现了错误。作者提供了下载链接和之前放置插件的位置,并列出了出现的错误信息。 ... [详细]
  • Voicewo在线语音识别转换jQuery插件的特点和示例
    本文介绍了一款名为Voicewo的在线语音识别转换jQuery插件,该插件具有快速、架构、风格、扩展和兼容等特点,适合在互联网应用中使用。同时还提供了一个快速示例供开发人员参考。 ... [详细]
  • 本文介绍了PE文件结构中的导出表的解析方法,包括获取区段头表、遍历查找所在的区段等步骤。通过该方法可以准确地解析PE文件中的导出表信息。 ... [详细]
  • Html5-Canvas实现简易的抽奖转盘效果
    本文介绍了如何使用Html5和Canvas标签来实现简易的抽奖转盘效果,同时使用了jQueryRotate.js旋转插件。文章中给出了主要的html和css代码,并展示了实现的基本效果。 ... [详细]
  • C++字符字符串处理及字符集编码方案
    本文介绍了C++中字符字符串处理的问题,并详细解释了字符集编码方案,包括UNICODE、Windows apps采用的UTF-16编码、ASCII、SBCS和DBCS编码方案。同时说明了ANSI C标准和Windows中的字符/字符串数据类型实现。文章还提到了在编译时需要定义UNICODE宏以支持unicode编码,否则将使用windows code page编译。最后,给出了相关的头文件和数据类型定义。 ... [详细]
  • Ihavethefollowingonhtml我在html上有以下内容<html><head><scriptsrc..3003_Tes ... [详细]
  • IjustinheritedsomewebpageswhichusesMooTools.IneverusedMooTools.NowIneedtoaddsomef ... [详细]
  • 解决文件名过长下载失败问题的jQuery方案
    本文介绍了使用jQuery解决文件名过长导致下载失败的问题。原方案中存在文件名部分丢失的问题,通过动态生成隐藏域表单并提交的方式来解决。详细的解决方案和代码示例在文章中给出。 ... [详细]
  • 本文介绍了lua语言中闭包的特性及其在模式匹配、日期处理、编译和模块化等方面的应用。lua中的闭包是严格遵循词法定界的第一类值,函数可以作为变量自由传递,也可以作为参数传递给其他函数。这些特性使得lua语言具有极大的灵活性,为程序开发带来了便利。 ... [详细]
  • 本文介绍了brain的意思、读音、翻译、用法、发音、词组、同反义词等内容,以及脑新东方在线英语词典的相关信息。还包括了brain的词汇搭配、形容词和名词的用法,以及与brain相关的短语和词组。此外,还介绍了与brain相关的医学术语和智囊团等相关内容。 ... [详细]
  • PHP图片截取方法及应用实例
    本文介绍了使用PHP动态切割JPEG图片的方法,并提供了应用实例,包括截取视频图、提取文章内容中的图片地址、裁切图片等问题。详细介绍了相关的PHP函数和参数的使用,以及图片切割的具体步骤。同时,还提供了一些注意事项和优化建议。通过本文的学习,读者可以掌握PHP图片截取的技巧,实现自己的需求。 ... [详细]
  • Linux重启网络命令实例及关机和重启示例教程
    本文介绍了Linux系统中重启网络命令的实例,以及使用不同方式关机和重启系统的示例教程。包括使用图形界面和控制台访问系统的方法,以及使用shutdown命令进行系统关机和重启的句法和用法。 ... [详细]
  • Webpack5内置处理图片资源的配置方法
    本文介绍了在Webpack5中处理图片资源的配置方法。在Webpack4中,我们需要使用file-loader和url-loader来处理图片资源,但是在Webpack5中,这两个Loader的功能已经被内置到Webpack中,我们只需要简单配置即可实现图片资源的处理。本文还介绍了一些常用的配置方法,如匹配不同类型的图片文件、设置输出路径等。通过本文的学习,读者可以快速掌握Webpack5处理图片资源的方法。 ... [详细]
author-avatar
王晓东
这个家伙很懒,什么也没留下!
Tags | 热门标签
RankList | 热门文章
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有