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 相关文章推荐
js原生态函数中使用jQuery中的 $(this)无效的解决方法
May 25 Javascript
jQuery选择器全集详解
Nov 24 Javascript
使用Chart.js图表库制作漂亮的响应式表单
Oct 28 Javascript
解决jquery中动态新增的元素节点无法触发事件问题的两种方法
Oct 30 Javascript
jQuery实现的精美平滑二级下拉菜单效果代码
Mar 28 Javascript
基于javascript实现tab切换特效
Mar 29 Javascript
Angular.js中上传指令ng-upload的基本使用教程
Jul 30 Javascript
Vue.js2.0中的变化小结
Oct 24 Javascript
Vue v2.4中新增的$attrs及$listeners属性使用教程
Jan 08 Javascript
解决vue的变量在settimeout内部效果失效的问题
Aug 30 Javascript
在Vue-cli里应用Vuex的state和mutations方法
Sep 16 Javascript
Vue js 的生命周期(看了就懂)(推荐)
Mar 29 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
使用无限生命期Session的方法
2006/10/09 PHP
PHP stream_context_create()作用和用法分析
2011/03/29 PHP
基于ThinkPHP5.0实现图片上传插件
2017/09/25 PHP
Prototype使用指南之dom.js
2007/01/10 Javascript
防止文件缓存的js代码
2013/01/10 Javascript
javascript中的循环语句for语句深入理解
2014/04/04 Javascript
JavaScript跨域方法汇总
2014/10/16 Javascript
JavaScript实现选择框按比例拖拉缩放的方法
2015/08/04 Javascript
JS实现黑色风格的网页TAB选项卡效果代码
2015/10/09 Javascript
基于html5和nodejs相结合实现websocket即使通讯
2015/11/19 NodeJs
AngularJS实现表单验证功能
2017/01/09 Javascript
使用 Node.js 对文本内容分词和关键词抽取
2017/05/27 Javascript
vue.js select下拉框绑定和取值方法
2018/03/03 Javascript
javascript中函数的写法实例代码详解
2018/10/28 Javascript
JavaScript this绑定过程深入详解
2018/12/07 Javascript
vuejs简单验证码功能完整示例
2019/01/08 Javascript
从理论角度讨论JavaScript闭包
2019/04/03 Javascript
Python基础之函数用法实例详解
2014/09/10 Python
从源码解析Python的Flask框架中request对象的用法
2016/06/02 Python
Python时间的精准正则匹配方法分析
2017/08/17 Python
Python使用matplotlib简单绘图示例
2018/02/01 Python
python pandas获取csv指定行 列的操作方法
2019/07/12 Python
python无序链表删除重复项的方法
2020/01/17 Python
python numpy矩阵信息说明,shape,size,dtype
2020/05/22 Python
解决python和pycharm安装gmpy2 出现ERROR的问题
2020/08/28 Python
美国在线眼镜店:GlassesShop
2018/11/15 全球购物
外语系毕业生找工作的求职信
2013/11/28 职场文书
《海伦?凯勒》教学反思
2014/04/17 职场文书
专题组织生活会方案
2014/06/15 职场文书
四风专项整治工作情况汇报
2014/10/28 职场文书
优秀班主任推荐材料
2014/12/17 职场文书
农民工工资支付承诺书
2015/05/04 职场文书
导游带团欢迎词
2015/09/30 职场文书
win10清理dns缓存
2022/04/19 数码科技
Golang 对es的操作实例
2022/04/20 Golang
delete in子查询不走索引问题分析
2022/07/07 MySQL