分享好友 前端技术首页 频道列表

Jquery 插件 实现浮动层 网页右下弹出层

Jquery  2023-03-08 18:270

最近由于公司项目原因要添加一个在网站首页的浮动的弹出层,且比较急,上网大概查找了一下,无奈只能自己动手写了一个。比较简单。

源码如下:

 (function ($) {
            $.fn.Messager = function (option) {
                option = $.extend({}, $.fn.option, option);//JQuery插件开发常用的,合并默认参数与用户给定的参数
                var thisp = this;
                $(thisp).css({ width: option.width, height: option.height, position: "absolute" });
                switch (option.animate) {
                    case "fade": fade(); break;
                    case "slide": slide(); break;
                }
                if (option.isScroll) {
                    $(window).scroll(function () {
                        $(thisp).css({ top: $(window).scrollTop() + $(window).height() - option.height - option.marginBottom, left: $(window).scrollLeft() + left($(window).width() - $("html").width()) });
                    });
                }
                if (option.isResize) {
                    $(window).resize(function () {
                        var cha = $(window).width() - $("html").width();
                        $(thisp).css({ top: $(window).scrollTop() + $(window).height() - option.height - option.marginBottom, left: left(cha) });
                    });
                }

                function fade() {
                    $(thisp).css("display", "none");
                    $(thisp).css({ top: $(window).scrollTop() + $(window).height() - option.height - option.marginBottom, left: left($(window).width() - $("html").width()) });
                    $(thisp).fadeIn(option.speed);
                    $("#" + option.closeTO).click(function () {
                        $(thisp).fadeOut(option.speed);
                    });
                }
                function slide() {
                    $(thisp).css("display", "block");
                    $(thisp).css({ top: $(window).scrollTop() + $(window).height(), left: left($(window).width() - $("html").width()) });
                    $(thisp).animate({ top: $(window).scrollTop() + $(window).height() - option.height - option.marginBottom }, 1000)
                    $("#" + option.closeTO).click(function () {
                        $(thisp).animate({ top: $(window).scrollTop() + $(window).height() }, 1000, function () {
                            $(this).hide();
                        })
                    });
                }
                function left(cha) {
                    if (cha > 0) {
                        return $("html").width() - option.width - option.marginRight;
                    }
                    else {
                        return $(window).width() - option.width - option.marginRight
                    }
                }

            };
            $.fn.option = {
                width: 100,/*弹出层的宽度*/
                height: 100,/*弹出层的高度*/
                speed: 1000, /*弹出层的动画的速度*/
                closeTO: "message_close", /*弹出层的关闭元素的ID*/
                animate: "fade",/*动画效果 fade,slide*/
                marginRight: 0,/*右边距*/
                marginBottom: 0,/*下边距*/
                isScroll: true,/*是否绑定滚动条事件*/
                isResize: true /*是否绑定窗口resize事件*/
            };

        })(jQuery);

使用方法如下:

<html xmlns="http://www.w3.org/1999/xhtml">
<head id="Head1" runat="server">
    <title></title>
    <script src="Scripts/jquery-1.4.1.min.js" type="text/javascript"></script>
    <script src="Scripts/jquery-message.js" type="text/javascript"></script>
    <script type="text/javascript">        
        $(document).ready(
function () {
            $(
"#message").Messager({
                closeTO: 
"message_close",
                animate: 
"slide",
                marginRight: 
10,
                width: 
435,
                height: 
211,
                isScroll: 
true,
                isResize: 
true
            });
        });
    
</script>
</head>
<body  style="width:1200px;">
    <form id="form1" runat="server">
    <div style="height: 800px; background-color: red; width: 100px;">
    </div>
    <div id="message" style="background-color: blue; overflow: hidden;">
        <div id="messageTool">
            <span id="message_close"></span>
        </div>
        <div id="message_content">
        </div>
    </div>
    </form>
</body>
</html>

 

 

查看更多关于【Jquery】的文章

展开全文
相关推荐
反对 0
举报 0
评论 0
图文资讯
热门推荐
优选好物
更多热点专题
更多推荐文章
邮箱自动提示Jquery 插件-实战.失败品
看到很多 SNS 类网站都有 邮箱注册功能. 参考了一下技术过程,触发事件为 focus keyup 和 后缀 mousedown 事件基本匹配过程就可以完成了. 所以写了下面的代码. 对  万一用户 选择错误.目前很多SNS 站都是要 手动删除后另行选择.我就写一个 focus 替换函数. 

0评论2023-03-08353

JQuery——事件绑定bind和on的区别
引言  通过JQuery对目标对象绑定事件我们大部分都是通过$('选择器').事件名()的形式实现,其实对事件的绑定还可以使用on和bind,为了搞明白两者之间的区别特做记录,以备以后查阅。正文  bind和on都是给元素绑定事件用的,但两者在使用时有些差别,我们最

0评论2023-03-08787

jQuery select操作
获取Select选择的Text和Value:$("#select_id").change(function(){//code...});//为Select添加事件,当选择其中一项时触发var checkText=$("#select_id").find("option:selected").text(); //获取Select选择的Textvar checkValue=$("#select_id").val(); //获

0评论2023-03-08577

17种常用的jQuery全屏焦点图代码 jq 获取焦点
jQuery全屏焦点图特效制作带标题的焦点图切换代码 jQuery背景和banner图片一起切换全屏焦点图切换代码 jQuery仿音悦台网站全屏带标题的焦点图轮播代码 jQuery响应式焦点图插件制作响应式全屏焦点图切换代码 jquery html5响应式幻灯片插件网站响应式全屏幻

0评论2023-03-08612

Jquery获取服务器端控件的三种方式 js获取服务器地址
一 Jquery获得服务器控件值的方法由于ASP.NET网页运行后,服务器控件会随机生成客户端id,jquery获取时候不太好操作,google了下,总结有以下3种方法:服务器控件代码:asp:TextBox ID="txtUserID" runat="server"/asp:TextBox 1. $("#%=txtUserID.ClientID%"

0评论2023-03-08822

jQuery习题 jquery100例
1.在div元素中,包含了一个span元素,通过has选择器获取div元素中的span元素的语法是?        答:$("div:has(span)"); 2.在ul元素中,添加了多个li元素,通过jquery选择器获取最后一个li元素的方法是?                答:$("li:last")3.在页面中有

0评论2023-03-08817

JQuery的父、子、兄弟节点选择器 jquery获取父节点和子节点
jQuery.parent(expr) //找父元素jQuery.parents(expr)//找到所有祖先元素,不限于父元素jQuery.children(expr)//查找所有子元素,只会找到直接的孩子节点,不会返回所有子孙jQuery.contents()//查找下面的所有内容,包括节点和文本。jQuery.prev()//查找上一

0评论2023-03-08671

一个关于 jquery 和 php 的 jsonp 例子(与后台PHP成功通信)
script $(document).ready(function(){$.ajax({ url:'http://localhost/test/jsonp.php', dataType:"jsonp", //重点,使用jsonp方式解决跨域问题 jsonp:"jsonpcallback", //回调函数名,和php端统一 timeout: 5000, success:function(data, status){ alert('s

0评论2023-03-08838

jQuery委托 jquery事件委托方法
$('#container').on('click', '.elementClass', function() {// code});http://stackoverflow.com/questions/10082031/why-use-jquery-on-instead-of-click

0评论2023-03-08736

更多推荐