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 相关文章推荐
ajax无刷新动态调用股票信息(改良版)
Nov 01 Javascript
JavaScript 用Node.js写Shell脚本[译]
Sep 20 Javascript
js实现图片轮换效果代码
Apr 16 Javascript
js实现局部页面打印预览原理及示例代码
Jul 03 Javascript
每日十条JavaScript经验技巧(一)
Jun 23 Javascript
微信小程序 SocketIO 实例讲解
Oct 13 Javascript
jQuery中绑定事件bind() on() live() one()的异同
Feb 23 Javascript
关于webpack代码拆分的解析
Jul 20 Javascript
javascript观察者模式实现自动刷新效果
Sep 05 Javascript
Vue axios全局拦截 get请求、post请求、配置请求的实例代码
Nov 28 Javascript
Vuex modules模式下mapState/mapMutations的操作实例
Oct 17 Javascript
Postman无法正常返回结果问题解决
Aug 28 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
PHP4.04简明安装
2006/10/09 PHP
php Ajax乱码
2008/04/09 PHP
解析mysql left( right ) join使用on与where筛选的差异
2013/06/18 PHP
windows下apache搭建php开发环境
2015/08/27 PHP
通过PHP自带的服务器来查看正则匹配结果的方法
2015/12/24 PHP
PHP连接MYSQL数据库的3种常用方法
2017/02/27 PHP
php判断目录存在的简单方法
2019/09/26 PHP
浅析PHP中的 inet_pton 网络函数
2019/12/16 PHP
优化innerHTML操作(提高代码执行效率)
2011/08/20 Javascript
防止登录页面出现在frame中js代码
2014/07/22 Javascript
使用JS实现jQuery的addClass, removeClass, hasClass函数功能
2014/10/31 Javascript
如何防止JavaScript自动插入分号
2015/11/05 Javascript
Jqgrid之强大的表格插件应用
2015/12/02 Javascript
jQuery表单验证简单示例
2016/10/17 Javascript
JavaScript中的await/async的作用和用法
2016/10/31 Javascript
AngularJS模板加载用法详解
2016/11/04 Javascript
ES6学习教程之对象的扩展详解
2017/05/02 Javascript
史上最全JavaScript常用的简写技巧(推荐)
2017/08/17 Javascript
浅谈如何通过node.js对数据进行MD5加密
2018/05/16 Javascript
详解element-ui表格中勾选checkbox,高亮当前行
2019/09/02 Javascript
浅析JavaScript 函数防抖和节流
2020/07/13 Javascript
[00:23]魔方之谜解锁款式
2018/12/20 DOTA
Python实现的HTTP并发测试完整示例
2020/04/23 Python
python将ansible配置转为json格式实例代码
2017/05/15 Python
Python数据结构与算法之图的基本实现及迭代器实例详解
2017/12/12 Python
淘宝秒杀python脚本 扫码登录版
2019/09/19 Python
python实现图像拼接功能
2020/03/23 Python
世界上最大的餐具公司:Oneida
2016/12/17 全球购物
北美Newegg打造的全球尖货海购平台:tt海购
2018/09/28 全球购物
质检的岗位职责
2013/11/17 职场文书
揠苗助长教学反思
2014/02/04 职场文书
见习报告格式范文
2014/11/08 职场文书
《假如》教学反思
2016/02/17 职场文书
MySQL sql_mode的使用详解
2021/05/08 MySQL
Win11 Build 21996.1 Dev版怎么样? win11系统截图欣赏
2021/11/21 数码科技
SQL解决未能删除约束问题drop constraint
2022/05/30 SQL Server