Jquery 类网页微信二维码图块滚动效果具体实现


Posted in Javascript onOctober 14, 2013

首先是自己定制的脚本方法属性代码:

/* 
 * 创建浮动图片广告(Generate a dock AD image) 
 * 
 * USAGE:  
 *  $(selector).higo_plugins_ad({ 
 *      src:null,                    // 广告图片路径 
 *      closeSrc:null,               // 关闭图片路径 
 *      href:"#",                    // 广告图片链接地址 
 *      autoHide:true,               // 是否自动隐藏 
 *      hideSecond:10,               // 延迟隐藏秒数 
 *      top:20,                      // 距离顶部偏移高度 
 *      layout:"left",               // 默认图片位置:left 居左 ,right 居右, center 居中,  
 *      width:100,                   // 宽度 
 *      height:100,                  // 高度 
 *      opacity:0.5              // 透明度opacity:0.5(firefox), filter:alpha(opacity=50)(IE) 
 *      setPosition:function(left, top){ // 预留自定义显示位置的方法(尚未实现) 
 *          return; 
 *      }    
 *  }) 
 */

其次是详细效果实现:
(function($){  
    $.fn.ad = function(options){  
        var lastScrollY= 0;  
        var czd = $(this);  
        var settings = $.extend({  
            src:null,                      
            closeSrc:null,                 
            href:"#",  
            autoHide:true,                 
            hideSecond:10,  
            position: "top",               
            top:20,      
            bottom:20,                    
            layout:"left",                 
            width:100,                     
            height:100,                    
            opacity:0.5,  
            setPosition:function(left, top){  
                return;  
            }  
        },options || {});          if(settings.src && settings.closeSrc){        
            var imgEl = "<a href='" + settings.href + "' target='_blank'><img border=0 width='" + settings.width + "px' height='" + settings.height + "px' src='" + settings.src + "'/> <br></a>";  
            var closeImgEl = "<a href=\"#\"; onclick=\"this.parentElement.style.visibility='hidden'\"><img border=0 src='" + settings.closeSrc +"'/></a>";  
            $(this).append(imgEl + closeImgEl);  
            $(this).css("position","absolute");  
            if(settings.position=='top'){  
                $(this).css("top",settings.top + "px");  
            } else {  
                $(this).css("bottom",settings.bottom + "px");  
            }  
            $(this).css("opacity",settings.opacity);  
            $(this).css("filter","alpha(opacity=" + parseInt(settings.opacity * 100)  + ")");  
            switch(settings.layout) {  
                case "left":  
                    $(this).css("left","-100px");  
                    break;  
                case "right":  
                    $(this).css("right","-100px");  
                    break;  
                case "center":  
                    var left = (parseInt(window.screen.availWidth) - parseInt(settings.width))/2 + "px";  
                    $(this).css("left",left);  
                    break;  
                default:  
                    $(this).css("left","-100px");  
                    break;  
            }  
        } else {  
            return;  
        }  
        if(settings.autoHide) {  
            setTimeout("(function(){$('" + $(this).selector +  "').hide();})();",parseInt(settings.hideSecond) * 1000;  
        }  
        //别名不同导致事件驱动不一样:scroll与onscroll  
        $(window).bind("scroll", function(){  
            var diffY;  
            if (document.documentElement && document.documentElement.scrollTop)  
                diffY = document.documentElement.scrollTop;  
            else if (document.body)  
                diffY = document.body.scrollTop  
                else {  
                    /*Netscape stuff*/  
                }  
            percent= 1 * (diffY - lastScrollY);  
            if(percent>0)  
                percent=Math.ceil(percent);  
            else   
                percent=Math.floor(percent);  
            if(settings.position=='top'){  
                var top = czd.css("top");  
                czd.css("top", parseInt(top) + percent + "px");  
                lastScrollY += percent;  
            } else {  
                var top = czd.css("bottom");  
                czd.css("bottom", parseInt(top) - percent + "px");lastScrollY += percent;  
            }  
        });  
    }  
})(jQuery);

最后就是页面的编写:

一、导入自己定义的JQuery并配好head

<decorator:head />  
        <script type="text/javascript" src="<%=basePath%>js/jquery.czd_plugins_ad.js"></script>  
        <script language="javascript">  
        $(document).ready(function(){  
            $("#leftbelow").ad({  
                src:"<%=basePath%>/images/qrcode.png",                    
                closeSrc:"<%=basePath%>/images/closeAd.gif",         
                autoHide:false,                 
                hideSecond:5,                 
                top:480,   
                layout:"left",                 
                width:100,                     
                height:100,                   
                opacity:5  
                });              $("#left").ad({  
                src:"<%=basePath%>/images/longtentianxia20131010.jpg",                      
                closeSrc:"<%=basePath%>/images/closeAd.gif",                 
                href:"......",                      
                autoHide:false,                 
                hideSecond:5,                 
                top:-70,                        
                layout:"left",                 
                width:100,                     
                height:500 ,                 
                opacity:5   
            });  
            $("#right").ad({  
                src:"<%=basePath%>/images/yingxiaodasai201203012.jpg",                    
                closeSrc:"<%=basePath%>/images/closeAd.gif",         
                href:"......",                      
                autoHide:false,                 
                hideSecond:5,                 
                top:-70,                        
                layout:"right",                 
                width:100,                     
                height:500,                   
                opacity:5  
            });  
        });  
</script>

二、写上主体body代码
<body class="homeBackgroup">  
          <div id="center"> </div>        <%@include file="/page/public/sideBar.jsp"%>  
      <div class="shadow">  
        <div id="container">  
            <div id="header">  
                <%@include file="/page/public/top.jsp"%>  
            </div>  
            <div id="mainContent">  
                        <div id="left"></div>  
                    <decorator:body />  
                        <div id="right"></div>  
                        <div id="leftbelow"></div>  
            </div>  
            <div id="footer" >  
                <%@include file="/page/public/bottom.jsp"%>  
            </div>  
            <div id="back-top">  
                <a href="#top"><span></span></a>  
            </div>  
        </div>  
      </div>    
</body>
Javascript 相关文章推荐
Jsonp 跨域的原理以及Jquery的解决方案
Jun 27 Javascript
jQuery实现的瀑布流加载效果示例
Sep 13 Javascript
bootstrap的工具提示实例代码
May 17 Javascript
JS实现的加减乘除四则运算计算器示例
Aug 09 Javascript
基于wordpress的ajax写法详解
Jan 02 Javascript
Koa2 之文件上传下载的示例代码
Mar 29 Javascript
基于jQuery.i18n实现web前端的国际化
May 04 jQuery
微信小程序中时间戳和日期的相互转换问题
Jul 09 Javascript
使用vue点击li,获取当前点击li父辈元素的属性值方法
Sep 12 Javascript
微信小程序实现点击图片旋转180度并且弹出下拉列表
Nov 27 Javascript
简单实现vue中的依赖收集与响应的方法
Feb 18 Javascript
浅谈vue在html中出现{{}}的原因及解决方式
Nov 16 Javascript
javascript预加载图片、css、js的方法示例介绍
Oct 14 #Javascript
js获取或设置当前窗口url参数的小例子
Oct 14 #Javascript
几种延迟加载JS代码的方法加快网页的访问速度
Oct 12 #Javascript
JavaScript如何从listbox里同时删除多个项目
Oct 12 #Javascript
javascript动态的改变IFrame的高度实现自动伸展
Oct 12 #Javascript
JavaScript var声明变量背后的原理示例解析
Oct 12 #Javascript
原生js操作checkbox用document.getElementById实现
Oct 12 #Javascript
You might like
星际中的相关伤害
2020/03/04 星际争霸
php+mysql实现无限分类实例详解
2015/01/15 PHP
PHP连接Nginx服务器并解析Nginx日志的方法
2015/08/16 PHP
用PHP的反射实现委托模式的讲解
2019/03/22 PHP
jquery的Theme和Theme Switcher使用小结
2010/09/08 Javascript
Js实现当前点击a标签变色突出显示其他a标签回复原色
2013/11/27 Javascript
你知道setTimeout是如何运行的吗?
2016/08/16 Javascript
jQuery实现表格元素动态创建功能
2017/01/09 Javascript
Javarscript中模块(module)、加载(load)与捆绑(bundle)详解
2017/05/28 Javascript
关于vue-resource报错450的解决方案
2017/07/24 Javascript
实例解析ES6 Proxy使用场景介绍
2018/01/08 Javascript
使用jquery Ajax实现上传附件功能
2018/10/23 jQuery
jQuery pager.js 插件动态分页功能实例分析
2019/08/02 jQuery
Nuxt默认模板、默认布局和自定义错误页面的实现
2020/05/11 Javascript
Python中使用PyHook监听鼠标和键盘事件实例
2014/07/18 Python
python实现颜色rgb和hex相互转换的函数
2015/03/19 Python
python实现简单爬虫功能的示例
2016/10/24 Python
Python Flask基础教程示例代码
2018/02/07 Python
Python中关键字global和nonlocal的区别详解
2018/09/03 Python
python针对不定分隔符切割提取字符串的方法
2018/10/26 Python
Python两台电脑实现TCP通信的方法示例
2019/05/06 Python
python实现二级登陆菜单及安装过程
2019/06/21 Python
详解Python3 pandas.merge用法
2019/09/05 Python
详解django中Template语言
2020/02/22 Python
Django之富文本(获取内容,设置内容方式)
2020/05/21 Python
keras的backend 设置 tensorflow,theano操作
2020/06/30 Python
django中cookiecutter的使用教程
2020/12/03 Python
教师实习期自我鉴定
2013/10/06 职场文书
酒店前厅员工辞职信
2014/01/08 职场文书
女方回门宴答谢词
2014/01/14 职场文书
大三学生做职业规划:给未来找个方向
2014/02/24 职场文书
内蒙古鄂尔多斯市市长寄语
2014/04/10 职场文书
超市商业计划书
2014/05/04 职场文书
公司门卫工作职责
2014/06/28 职场文书
高中教师先进事迹材料
2014/08/22 职场文书
班主任班级管理心得体会
2016/01/07 职场文书