web前端之锋利的jQuery九:jQuery插件的使用(模态窗口、cookie、UI)

86 篇文章 0 订阅
14 篇文章 0 订阅

web前端之锋利的jQuery九:jQuery插件的使用(模态窗口、cookie、UI)

1.模态窗口插件-SimpleModal:

SimpleModal是一个轻量级的jQuery插件,它为模态窗口的开发提供了一个强有力的接口,可以把它当做模态窗口的框架。SimpleModal非常灵活,可以创建你能够想象的任何东西,并且你还不需要考虑UI开发中的跨浏览器相关问题

SimpleModal提供了两种简单方法来调整模态窗口。
第一种方法是作为一个链式的jQuery函数。你可以在一个用jQuery获取的元素上调用modal()函数,之后用这个元素的内容来显示一个模态窗口。比如:
$(“#element-id”).modal();
第二种方法是作为一个单独函数使用。通过传递一个jQuery对象,DOM元素或者纯文本(可以包含HTML)来创建一个模态窗口。比如:

$("#element-id").modal({options});
$.modal("<div><h1>SimpleModal</h1></div>",{options});

因为SimpleModal不仅仅是一个模态窗口框架,以上的两个例子只是创建非常基本的没有样式的模态窗口。你也可以通过外部CSS,选项对象或两个一起来应用样式。modal overlay、container和data元素的CSS选项分别是:overlayCss、containerCss、dataCss,他们都是键值对属性。SimpleModal未显示一个模态窗口设置了必要的CSS,另外它动态地把模态窗口置于屏幕中间,除非预先设置了position参数。

SimpleModal在内部定义了如下CSS类:simplemodal-overlay,simplemodal-container,simplemodal-wrap(如果内容比container大,那么它将自动设置overflow为auto)和simplemodal-data

关闭模态窗口
SimpleModal自动为模态窗口内class是“simplemodal-close”的元素绑定了关闭函数。所以只需要在HTML中添加如下代码就可以关闭窗口了:

<button type="button" class="simplemodal-close">关闭</button>
或者<a href="#" class="simplemodal-close">关闭</a>

此外你也可以通过调用$.modal.close()的方式关闭当前打开的模态窗口

2.管理Cookie的插件-Cookie:
Cookie是网站设计者放置在客户端的小文本文件。Cookie能为用户提供很多便利,在用户允许的情况下,存储用户登录信息,使得用户在访问网站是不必每次都登录用户信息


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<head>
    <meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
    <title>插件</title>
    <script type="text/javascript" src="../js/jquery-3.1.1.js"></script>
    <script type="text/javascript" src="../js/jquery.cookie.js"></script>

    <script type="text/javascript">
    $(function(){
        var COOKIE_NAME="username";
        if($.cookie(COOKIE_NAME)){
            $("#username").val($.cookie(COOKIE_NAME));
        }
        $("#check").click(function(){
            if(this.checked){
                debugger
                $.cookie(COOKIE_NAME,$("#username").val(),{path:'/',expires:10});
            }else{
                $.cookie(COOKIE_NAME,null,{path:'/'});
            }
        });
    });
    </script>
</head>
<body>
    用户名:<input type="text" name="username"  id="username" /><br>
    <input type="checkbox" name="check" id="check" />记住用户名
</body>
</html>

进行调试的时候要注意查看浏览器是否不支持cookie的保存

写入cookie
$.cookie(“the_cookie”,”the_value”);
the_cookie:名,the_value:值

读取cookie
$.cookie(“the_cookie”)

删除cookie
$.cookie(“the_cookie”,null)

cookie的其他属性:

$.cookie("the_cookie","the_value",{
    expires:7,//有效期,单位“天”
    path:'/',//cookie的路径属性,一般默认创建该cookie的页面路径
    damain:"jquery.com",//cookie的域名属性,一般默认创建该cookie的页面域名
    secure:true//如果设为true,那么Cookie的传输会要求一个安全协议,例如HTTPS
})

3.jQuery UI 插件:
jQuery UI主要分为3个部分,交互、微件和效果库:
交互:这里都是一些与鼠标交互相关的内容,包括拖动(Draggable)、置放(Droppable)、缩小(Resizable)、选择(Selectable)、排序(Sortable)等,微件中有部分是基于这些交互组件来进行制作的。此库需要一个JQuery UI核心库——ui.core.js支持
微件:这里主要是一些界面的扩展。里面包括手风琴导航(Accordion)、自动完成(Autocomlete)、取色器(Colorpicker)、对话框(Dialog)、滑块(Slider)、标签(Tabs)、日历(Datepicker)、放大镜(Magnifier)等。此库需要一个JQuery UI核心库——ui.core.js支持
效果库:此库用于提供丰富的动画效果,让动画不再局限于animate()方法,效果库有自己一套核心即effects.core.js,无需ui.core.js支持

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<head>
    <meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
    <title>jQuery UI Sortable</title>
    <style type="text/css">
    #myList{
        width: 80px;
        background: #eee;
        padding: 5px;
    }
    #myList a{
        text-decoration: none;
        color: #0077B0;
    }
    #myList a:hover{
        text-decoration: underline;
    }
    #myList .qlink{
        font-size: 12px;
        color: #666;
        margin-left: 10px;
    }
    </style>

</head>
<body>
<ul id="myList">
    <li id="myList_mood"><a href="#">心情</a></li>
    <li id="myList_photo">
        <a href="#">相册</a>
        <a href="#" class="qlink">上传</a>
    </li>
    <li id="myList_blog">
        <a href="#">日志</a>
        <a href="#" class="qlink">发表</a>
    </li>
    <li id="myList_vote"><a href="#">投票</a></li>
    <li id="myList_share"><a href="#">分享</a></li>
    <li id="myList_group"><a href="#">群组</a></li>
</ul>   
<script type="text/javascript" src="../js/jquery-3.1.1.js"></script>
<script type="text/javascript" src="../js/jquery-ui.js"></script>
<script type="text/javascript">
    $(document).ready(function(){
        $("#myList").sortable({//直接让myList下的元素可以拖动
            delay:1//修复潜在连接点击问题
            ,stop:function(){
                alert("触发排序停止后回调函数");
            }
        });

    });
</script>
</body>
</html>

jQuery UI插件的大部分API已经统一了,以Draggable为例
draggable(options):这是用来让一个DOM对象变成可拖动的对象的方法,其中的options可以设置各种不同的参数
draggable(“disable”):让对应的DOM对象暂时禁用拖动
draggable(“enable”):让对应的DOM对象重新启用拖动
draggable(“destroy”):彻底移除拖动功能

当然可以使用一个完整的UI库来包含前面的核心库

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值