JQuery之UI插件

1、拖曳插件之traggable

拖曳插件draggable的功能是拖動被綁定的元素,當這個jQuery UI插件與元素綁定後,可以通過調用draggable()方法,實現各種拖曳元素的效果,調用格式如下:

$(selector). draggable({options})

options參數爲方法調用時的配置對象,根據該對象可以設置各種拖曳效果,如“containment”屬性指定拖曳區域,“axis”屬性設置拖曳時的座標方向。

例如,在頁面中的<div>元素中添加兩個子類<div>,通過與拖曳插件綁定,這兩個子類<div>元素只能在外層的父<div>元素中任意拖曳,

 

<head>
        <title>拖曳插件</title>
        <link href="style.css" rel="stylesheet" type="text/css" />
        <script src="http://www.imooc.com/data/jquery-1.8.2.min.js" type="text/javascript"></script>
        <script src="http://www.imooc.com/data/jquery-ui-1.9.2.min.js" type="text/javascript"></script>
    </head>
    
    <body>
        <div id="divtest">
            <div id="x" class="drag">沿x軸拖拽</div>
            <div id="y" class="drag">沿y軸拖拽</div>
        </div>
        
        <script type="text/javascript">
            $(function () {
                $("#x").draggable({containment:"parent",axis:"x"});
                $("#y").draggable({containment:"parent",axis:"y"});
            });
        </script>
    </body>


2、放置插件之droppable

 

除使用draggable插件拖曳任意元素外,還可以調用droppable UI插件將拖曳後的任意元素放置在指定區域中,類似購物車效果,調用格式如下:

$(selector).droppable({options})

selector參數爲接收拖曳元素,options爲方法的配置對象,在對象中,drop函數表示當被接收的拖曳元素完全進入接收元素的容器時,觸發該函數的調用。

例如,在頁面中,通過調用droppable插件將“產品區”中的元素拖曳至“購物車”中,同時改變“購物車”的背景色和數量值,

 

<head>
        <title>放置插件</title>
        <link href="style.css" rel="stylesheet" type="text/css" />
        <script src="http://www.imooc.com/data/jquery-1.8.2.min.js" type="text/javascript"></script>
        <script src="http://www.imooc.com/data/jquery-ui-1.9.2.min.js" type="text/javascript"></script>
    </head>
    
    <body>
        <div id="divtest">
            <div class="box">
                <div class="title">產品區</div>
                <div class="drag"><div>蘋果</div></div>
            </div>
            <div class="box">
                <div class="title">回收站</div>
                <div class="cart"><div id="tip">還沒有產品</div></div>
            </div>
        </div>
        
        <script type="text/javascript">
            $(function () {
                $(".drag").draggable();
                $(".cart").droppable({
                    drop: function () {
                        num++;
                        $(this).addClass('focus'); //改變css類
                        $('#tip').html('');
                            $('.title span').html(num); 
                    }
                })
            });
        </script>
    </body>

3、拖曳排序插件sortabe

拖曳排序插件的功能是將序列元素(例如<option>、<li>)按任意位置進行拖曳從而形成一個新的元素序列,實現拖曳排序的功能,它的調用格式爲:

$(selector).sortable({options});

selector參數爲進行拖曳排序的元素,options爲調用方法時的配置對象,

例如,在頁面中,通過加載sortable插件將<ul>元素中的各個<li>表項實現拖曳排序的功能,

 

 <head>
        <title>拖曳排序插件</title>
        <link href="style.css" rel="stylesheet" type="text/css" />
        <script src="http://www.imooc.com/data/jquery-1.8.2.min.js" type="text/javascript"></script>
        <script src="http://www.imooc.com/data/jquery-ui-1.9.2.min.js" type="text/javascript"></script>
    </head>
    
    <body>
        <div id="divtest">
            <div class="title">
                <span class="fl">我最喜歡的運動</span>
            </div>
            <div class="content">
                <ul>
                    <li>1)足球</li>
                    <li>2)散步</li>
                    <li>3)籃球</li>
                    <li>4)乒乓球</li>
                    <li>5)騎自行車</li>
                </ul>
            </div>
        </div>
        
        <script type="text/javascript">
            $(function () {
                $("ul").sortable({
                    delay:2,
                    opacity:0.45
                    
                })
            });
        </script>
    </body>


4、面板摺疊插件accordion

 

面板摺疊插件可以實現頁面中指定區域類似“手風琴”的摺疊效果,即點擊標題時展開內容,再點另一標題時,關閉已展開的內容,調用格式如下:

$(selector).accordion({options});

其中,參數selector爲整個面板元素,options參數爲方法對應的配置對象。

例如,通過accordion插件展示幾個相同區域面板的摺疊效果,

 

<head>
        <title>面板摺疊插件</title>
        <link href="Css/jquery-ui.css" rel="stylesheet" type="text/css" />
        <link href="style.css" rel="stylesheet" type="text/css" />
        <script src="http://www.imooc.com/data/jquery-1.8.2.min.js" type="text/javascript"></script>
        <script src="http://www.imooc.com/data/jquery-ui-1.9.2.min.js" type="text/javascript"></script>
    </head>
    
    <body>
        <div id="divtest">
            <div id="accordion">
                <h3>
                    <a href="#">白富美</a></h3>
               <ul>
                <li>咱們結婚吧!</li>
                <li>sdsdsaa</li>
                </ul>
                <h3>
                    <a href="#">土豪族</a></h3>
                <p>咱們交個朋友吧!</p>
            </div>
        </div>
        
        <script type="text/javascript">
            $(function () {
                $("#accordion").accordion();
            });
        </script>
    </body>


5、選項卡插件tabs

 

使用選項卡插件可以將<ul>中的<li>選項定義爲選項標題,在標題中,再使用<a>元素的“href”屬性設置選項標題對應的內容,它的調用格式如下:

$(selector).tabs({options});

selector參數爲選項卡整體外圍元素,該元素包含選項卡標題與內容,options參數爲tabs()方法的配置對象,通過該對象還能以ajax方式加載選項卡的內容。
 

例如,在頁面中,添加選項卡的標題和內容元素,並綁定tabs插件,當點擊標題時,以選項卡的方式切內容,

 

<head>
        <title>選項卡插件</title>
        <link href="http://www.imooc.com/data/jquery-ui.css" rel="stylesheet" type="text/css" />
        <link href="style.css" rel="stylesheet" type="text/css" />
        <script src="http://www.imooc.com/data/jquery-1.8.2.min.js" type="text/javascript"></script>
        <script src="http://www.imooc.com/data/jquery-ui-1.9.2.min.js" type="text/javascript"></script>
    </head>
    
    <body>
        <div id="divtest">
            <div id="tabs">
                <ul>
                    <li><a href="#tabs-1">最愛喫的水果</a>
                    </li>
                    <li><a href="#tabs-2">最喜歡的運動</a>
                    </li>
                </ul>
                <div id="tabs-1">
                    <p>橘子</p>
                    <p>香蕉</p>
                    <p>葡萄</p>
                    <p>蘋果</p>
                    <p>西瓜</p>
                </div>
                <div id="tabs-2">
                    <p>足球</p>
                    <p>散步</p>
                    <p>籃球</p>
                    <p>乒乓球</p>
                    <p>騎自行車</p>
                </div>
            </div>
        </div>
        
        <script type="text/javascript">
            $(function () {
               $("#tabs").tabs({
                    //設置各選項卡在切換時的動畫效果
                    fx: { opacity: "toggle", height: "toggle" },
                    event: "mousemove" //通過移動鼠標事件切換選項卡
                })
            });
        </script>
    </body>


6、對話框插件dialog

 

對話框插件可以用動畫的效果彈出多種類型的對話框,實現JavaScript代碼中alert()和confirm()函數的功能,它的調用格式爲:

$(selector).dialog({options});

selector參數爲顯示彈出對話框的元素,通常爲<div>,options參數爲方法的配置對象,在對象中可以設置對話框類型、“確定”、“取消”按鈕執行的代碼等。

例如,當點擊“提交”按鈕時,如果文本框中的內容爲空,則通過dialog插件彈出提示框,提示輸入內容不能爲空,

 

 <head>
        <title>對話框插件</title>
        <link href="http://www.imooc.com/data/jquery-ui.css" rel="stylesheet" type="text/css" />
        <link href="style.css" rel="stylesheet" type="text/css" />
        <script src="http://www.imooc.com/data/jquery-1.8.2.min.js" type="text/javascript"></script>
        <script src="http://www.imooc.com/data/jquery-ui-1.9.2.min.js" type="text/javascript"></script>
    </head>
    
    <body>
        <div id="divtest">
            <div class="content">
                <span id="spnName" class="fl">張三</span>
                <input id="btnDelete" type="button" value="刪除"  class="fr"/>
            </div>
            <div id='dialog-modal'></div>
        </div>
        
        <script type="text/javascript">
            $(function () {
                $("#btnDelete").bind("click", function () { //詢問按鈕事件
                    if ($("#spnName").html() != null) { //如果對象不爲空
                        sys_Confirm("您真的要刪除該條記錄嗎?");
                        return false;
                    }
                });
            });
            function sys_Confirm(content) { //彈出詢問信息窗口
                $("#dialog-modal").dialog({
                    height: 140,
                    modal: true,
                    title: '系統提示',
                    hide: 'slide',
                    buttons: {
                        '確定': function () {
                            $("#spnName").remove();
                            $(this).dialog("close");
                        },
                        '取消': function () {
                            $(this).dialog("close");
                        }
                    },
                    open: function (event, ui) {
                        $(this).html("");
                        $(this).append("<p>" + content + "</p>");
                    }
                });
            }
        </script>
    </body>


7、菜單工具插件menu

 

菜單工具插件可以通過<ul>創建多級內聯或彈出式菜單,支持通過鍵盤方向鍵控制菜單滑動,允許爲菜單的各個選項添加圖標,調用格式如下:

$(selector).menu({options});

selector參數爲菜單列表中最外層<ul>元素,options爲menu()方法的配置對象。

例如,在頁面中,通過<ul>元素內聯的方式構建一個三層結構的導航菜單,並將最外層<ul>元素通過menu()方法綁定插件,實現導航菜單的功能,

 

<head>
        <title>菜單工具插件</title>
        <link href="http://www.imooc.com/data/jquery-ui.css" rel="stylesheet" type="text/css" />
        <link href="style.css" rel="stylesheet" type="text/css" />
        <script src="http://www.imooc.com/data/jquery-1.8.2.min.js" type="text/javascript"></script>
        <script src="http://www.imooc.com/data/jquery-ui-1.9.2.min.js" type="text/javascript"></script>
    </head>
    
    <body>
        <ul id="menu">
            <li><a href="#">小明一中</a>
                <ul>
                    <li><a href="#">高中部</a>
                        <ul>
                            <li><a href="#">高一(1)班</a></li>
                            <li><a href="#">高一(2)班</a></li>
                            <li><a href="#">高一(3)班</a>
                                <ul>
                                    <li><a href="#">小胡</a></li>
                                    <li><a href="#">小李</a></li>
                                    <li><a href="#">小陳</a></li>
                                </ul>
                            </li>
                        </ul>
                    </li>
                    <li><a href="#">初中部</a>
                        <ul>
                            <li><a href="#">初一(1)班</a></li>
                            <li><a href="#">初一(2)班</a></li>
                            <li><a href="#">初一(3)班</a></li>
                        </ul>
                    </li>
                    <li><a href="#">教研部</a></li>
                </ul>
            </li>
            <li class="ui-state-disabled"><a href="#">大明二中</a></li>
        </ul>
        
        <script type="text/javascript">
            $(function () {
                $("#menu").menu();
            });
        </script>
    </body>


8、微調按鈕插件spinner

 

微調按鈕插件不僅能在文本框中直接輸入數值,還可以通過點擊輸入框右側的上下按鈕修改輸入框的值,還支持鍵盤的上下方向鍵改變輸入值,調用格式如下:

$(selector).spinner({options});

selector參數爲文本輸入框元素,可選項options參數爲spinner()方法的配置對象,在該對象中,可以設置輸入的最大、最小值,獲取改變值和設置對應事件。

例如,將頁面中的三個輸入文本框都與微調插件相綁定,當改變三個文本框值時,對應的<div>元素的背景色也將隨之發生變化,

 

<head>
        <title>微調按鈕插件</title>
        <link href="http://www.imooc.com/data/jquery-ui.css" rel="stylesheet" type="text/css" />
        <link href="style.css" rel="stylesheet" type="text/css" />
        <script src="http://www.imooc.com/data/jquery-1.8.2.min.js" type="text/javascript"></script>
        <script src="http://www.imooc.com/data/jquery-ui-1.9.2.min.js" type="text/javascript"></script>
    </head>
    
    <body>
        <div id="divtest">
            <div class="title">
                選擇顏色值</div>
            <div class="content">
                <span id="spnColor" class="input fl">
                    <input />
                </span>
                <span id="spnPrev" class="prev fr"></span>
            </div>
        </div>
        
        <script type="text/javascript">
            $(function () {
                //定義變量
                var intR = 0, intG = 0, intB = 0, strColor;
                $("input").spinner({
                    //初始化插件
                    max: 10,
                    min: 0,
                    //設置微調按鈕遞增/遞減事件
                    spin: function (event, ui) {
                        if (ui.value == 8)
                            spnPrev.style.backgroundColor = "red";
                        else
                            spnPrev.style.backgroundColor = "green";
                    },
                    //設置微調按鈕值改變事件
                    change: function (event, ui) {
                        var intTmp = $(this).spinner("value");
                        if (intTmp < 0) $(this).spinner("value", 0);
                        if (intTmp > 10) $(this).spinner("value", 10);
                        if (intTmp == 8)
                            spnPrev.style.backgroundColor = "red";
                        else
                            spnPrev.style.backgroundColor = "green";
                    }
                });
            });
        </script>
    </body>


9、工具提示插件tooltip

 

工具提示插件可以定製元素的提示外觀,提示內容支持變量、Ajax遠程獲取,還可以自定義提示內容顯示的位置,它的調用格式如下:

$(selector).tooltip({options});

其selector爲需要顯示提示信息的元素,可選項參數options爲tooltip()方法的配置對象,在該對象中,可以設置提示信息的彈出、隱藏時的效果和所在位置。

例如,將三個<a>元素與工具提示插件相綁定,當把鼠標移動在<a>元素內容時,以動畫效果彈出對應的提示圖片,移出時,圖片自動隱藏,

 

<body>
        <div id="divtest">
            <div class="title">
                工具提示插件</div>
            <div class="content">
                <div>
                    <label for="name">
                        姓名</label>
                    <input id="name" name="name" title="我是土豪,歡迎與我做朋友" />
                </div>
            </div>
        </div>
        
        <script type="text/javascript">
            $(function () {
                $("input").tooltip({
                    show: {
                        effect: "slideDown",
                        delay: 350
                    },
                    hide: {
                        effect: "explode",
                        delay: 350
                    },
                    position: {
                        my: "left top",
                        at: "left bottom"
                    }
                });
            });
        </script>
    </body>

 

 

最近在整理一些資源工具,放在網站分享 http://tools.maqway.com
歡迎關注公衆號:麻雀唯伊 , 不定時更新資源文章,生活優惠,或許有你想看的

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章