<span id="mktg5"></span>

<i id="mktg5"><meter id="mktg5"></meter></i>

        <label id="mktg5"><meter id="mktg5"></meter></label>
        最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關鍵字專題關鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
        問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
        當前位置: 首頁 - 科技 - 知識百科 - 正文

        基于jQuery的JavaScriptUI設計

        來源:懂視網 責編:小采 時間:2020-11-27 20:30:31
        文檔

        基于jQuery的JavaScriptUI設計

        基于jQuery的JavaScriptUI設計:jQuery UI 是以 jQuery 為基礎的開源 JavaScript 網頁用戶界面代碼庫,是jquery官方推出的配合jquery使用的用戶界面組件集合!包含了許多的界面操作功能。無論是jQuery UI 還是jQuery的EasyUI框架都能夠幫助你,使你建立你的網頁很容易。 jQuery U
        推薦度:
        導讀基于jQuery的JavaScriptUI設計:jQuery UI 是以 jQuery 為基礎的開源 JavaScript 網頁用戶界面代碼庫,是jquery官方推出的配合jquery使用的用戶界面組件集合!包含了許多的界面操作功能。無論是jQuery UI 還是jQuery的EasyUI框架都能夠幫助你,使你建立你的網頁很容易。 jQuery U

        jQuery UI 是以 jQuery 為基礎的開源 JavaScript 網頁用戶界面代碼庫,是jquery官方推出的配合jquery使用的用戶界面組件集合!包含了許多的界面操作功能。

        無論是jQuery UI 還是jQuery的EasyUI框架都能夠幫助你,使你建立你的網頁很容易。

        jQuery UI 或者easyui是一個用戶界面插件集合jQuery的基礎。

        使用jQuery UI 或者easyui你不需要寫很多JavaScript代碼,你通常定義寫一些HTML標記的用戶界面。

        jQuery UI 或者easyui是很容易的,但功能強大。

        使用jQuery UI或者easyui你都需要在你的頁面中加入一些js和css文件,當然,你也可以自己去定義自己需要的css。

        jQuery UI和easyui都是一些我們可以拿來使用的工具,他們都封裝好了,他們經過了不同版本的編寫,讓我們在使用的時候不用去考慮瀏覽器兼容性,免去了在寫頁面時候最容易出現的不同瀏覽器間不能夠兼容的問題,可以直接使用,是真正的“拿來主義”。

        jQuery UI和easyui他們所提供的插件的功能有所不同。

        jQuery UI所提供的功能共有三大類,其中包括Interactions,Widgets,和Effects。

        Interactions中包含Draggable,Droppable,Resizable,Selectable,Sortable這些功能供我們選擇,

        Widgets類中包含Accordion,Datepicker,Dialog,Progressbar,Slider,Tabs這些不同的功能。

        Effects類中包含Add Class,Remove Class,Animate,Effect,show,Switch Class,Toggle,Toggle Class這些功能。

        每一個功能都會有不同的屬性呈現不同的效果,稍后我會具體的講解每一個功能的用法。

        而easyui共包含7大類。

        第一類是Base,包含EasyLoader,Draggable,Droppable,Resizable四個方面。

        第二類是Layout,包含Panel,Tabs,Accordion,Layout四個方面。

        第三類是Menu and Button,包含Menu,Link Button,Menu Button,Split Button四個創建按鈕的效果。

        第四類是Form,包含Form,ComboBox,ComboTree,NumberBox,ValidateBox,DateBox,Calendar這幾個不同的表單需求。

        第五類是Window,包含window,Dialog,Message。

        第六類是DataGrid and Tree, 包含Pagination,DataGrid,Tree。

        我們先來看一下jQuery UI各個功能的具體用法。

        我們從Interactions中的Draggable開始。

        "EN-US">Draggable有較多的效果,從它所給出方法的參數不同,可以達到不同的效果,它所要用到jquery-1.3.2.js,ui.core.js,ui.draggable.js這三個js文件。它所給出的方法是draggable(),給它不同的參數,它可以實現種不同的效果。

        我們先看一下它是第一個效果(默認屬性)(Default functionality),可以在頁面中用鼠標隨意拖動一個DOM element在你可以看見的范圍內,它所用的代碼為:

        <script type="text/javascript">

        $(function() {

        $("#draggable").draggable();

        });

        </script>

        很簡單,只要這幾行代碼你就可以實現一個javascript特效。

        我們再看第二個效果(Events)下面這段代碼:

        <script type="text/javascript">

        $(function() {

        var $start_counter = $('#event-start'), $drag_counter = $('#event-drag'), $stop_counter = $('#event-stop');

        var counts = [0,0,0];

        $("#draggable").draggable({

        start: function() {

        counts[0]++;

        updateCounterStatus($start_counter,counts[0]);

        },

        drag: function() {

        counts[1]++;

        updateCounterStatus($drag_counter,counts[1]);

        },

        stop: function() {

        counts[2]++;

        updateCounterStatus($stop_counter,counts[2]);

        }

        });

        });

        function updateCounterStatus($event_counter,new_count) {

        // first update the status visually...

        if (!$event_counter.hasClass('ui-state-hover')) {

        $event_counter.addClass('ui-state-hover')

        .siblings().removeClass('ui-state-hover');

        }

        // ...then update the numbers

        $('span.count',$event_counter).text(new_count);

        }

        </script>

        這段代碼比之前的代碼要復雜,所實現的效果也更多,它可以計算你共拖動了多少次DOM和你共拖動了多少距離。

        它通過在draggable方法內增加的一個數組counts來存儲開始和結束時的次數,和你一共拖動的距離。

        我們再看第三個效果(Constrain movement),代碼:

        <script type="text/javascript">

        $(function() {

        $("#draggable").draggable({ axis: 'y' });

        $("#draggable2").draggable({ axis: 'x' });

        $("#draggable3").draggable({ containment: '#containment-wrapper', scroll: false });

        $("#draggable4").draggable({ containment: '#demo-frame' });

        $("#draggable5").draggable({ containment: 'parent' });

        });

        </script>

        分別調用了五次draggable方法,每次都給draggable方法不同的參數,實現不同的效果。第一個方法調用是讓DOM只能夠上下移動,第二個方法調用實現讓DOM只能夠左右移動,第三個方法調用實現讓DOM只能在給它規定的box內移動,第四個方法調用就實現可以在box外移動,而第五個方法調用則是讓DOM只能在它的父節點內移動。

        第四個效果(Delay start),代碼:

        <script type="text/javascript">

        $(function() {

        $("#draggable").draggable({ distance: 20 });

        $("#draggable2").draggable({ delay: 1000 });

        $(".ui-draggable").disableSelection();

        });

        </script>

        它給的參數有一定的限制作用,例如distance:20,就說明你必須要拖動20px以上它才會有效果,否則它是不會讓你拖動的,而delay則是延時,是說你要等到1000ms以后你才能夠拖動它。

        第五個效果(Snap to element or grid)

        </style>

        <script type="text/javascript">

        $(function() {

        $("#draggable").draggable({ snap: true });

        $("#draggable2").draggable({ snap: '.ui-widget-header' });

        $("#draggable3").draggable({ snap: '.ui-widget-header', snapMode: 'outer' });

        $("#draggable4").draggable({ grid: [20,20] });

        $("#draggable5").draggable({ grid: [80, 80] });

        });

        </script>

        第一個參數是DOM可以自動吸附在其它的box邊緣上,第二個參數是讓DOM可以吸附在大的box邊緣,里外側都可,第三個參數讓DOM只能吸附在box的外側,而里側沒有效果,第四個參數是讓DOM只能移動到20,20的倍數這樣的地方,第五個參數和第四個參數是一樣的,只是給的數據不同。

        第六個效果(Auto-scroll)

        <script type="text/javascript">

        $(function() {

        $("#draggable").draggable({ scroll: true });

        $("#draggable2").draggable({ scroll: true, scrollSensitivity: 100 });

        $("#draggable3").draggable({ scroll: true, scrollSpeed: 100 });

        });

        </script>

        第七個效果(Revert position)

        <script type="text/javascript">

        $(function() {

        $("#draggable").draggable({ revert: true });

        $("#draggable2").draggable({ revert: true, helper: 'clone' });

        });

        </script>

        參數revert設定,使DOM被拖動后返回原來的位置。加上helper:’clone’屬性,則在拖動的時候在原先DOM的地方依舊顯示DOM。

        第八個效果(Visual feedback)

        <script type="text/javascript">

        $(function() {

        $("#draggable").draggable({ helper: 'original' });

        $("#draggable2").draggable({ opacity: 0.7, helper: 'clone' });

        $("#draggable3").draggable({

        cursor: 'move',

        cursorAt: { top: -12, left: -20 },

        helper: function(event) {

        return $('<div class="ui-widget-header">I'm a custom helper</div>');

        }

        });

        $("#set div").draggable({ stack: { group: '#set div', min: 1 } });

        });

        </script>

        第一個DOM可以正常的拖動,第二個DOM拖動后會返回原來的位置,helper屬性上面講過了,opacity屬性則是設定DOM的透明度。第三個DOM在你實施拖動的時候,會顯示一個I'm a custom helper的DIV給你。

        而后面三個DOM,每拖動一個DOM會讓被拖動的DOM在其它的兩個DOM外層,也就是最上面。

        第九個效果(Drag handle)

        <script type="text/javascript">

        $(function() {

        $("#draggable").draggable({ handle: 'p' });

        $("#draggable2").draggable({ cancel: "p.ui-widget-header" });

        $("div, p").disableSelection();

        });

        </script>

        在這兩個DOM中每個DIV中都嵌套一個p標簽,每個handle屬性表明鼠標在點擊在P標簽上才能夠拖動DOM,而第二個cancel表明要點擊在不是P標簽的DIV中才能夠拖動DOM。

        第十個效果(Cursor style)

        <script type="text/javascript">

        $(function() {

        $("#draggable").draggable({ cursorAt: { cursor: 'move', top: 56, left: 56 } });

        $("#draggable2").draggable({ cursorAt: { cursor: 'crosshair', top: -5, left: -5 } });

        $("#draggable3").draggable({ cursorAt: { bottom: 0 } });

        });

        </script>

        第一個DOM中的參數是說在拖動DOM的時候,在水平方向上移動,會先向相反的方向移動56px,垂直方向上也是一樣。第二個DOM說明在小范圍移動或者雙擊時會讓DOM往上移動-5,左移動-5,實際上就是向下和向右各移動5,第三個DOM是在小范圍拖動或雙擊時會向上移動。

        第十一個效果(Draggable + sortable)

        <script type="text/javascript">

        $(function() {

        $("#sortable").sortable({

        revert: true

        });

        $("#draggable").draggable({

        connectToSortable: '#sortable',

        helper: 'clone',

        revert: 'invalid'

        })

        $("ul, li").disableSelection();

        });

        </script>

        以上代碼是讓頁面中的ul和li元素在拖動的同時呈現出sortable的效果。

        第二個介紹的是 "EN-US">droppable,它包含有六個效果,它分別要用到 "EN-US">jquery-1.3.2.js, "EN-US">ui.core.js, "EN-US">ui.droppable.js, "EN-US">ui.draggable.js這四個js文件。

        先看第一個(Default functionality)

        <script type="text/javascript">

        $(function() {

        $("#draggable").draggable();

        $("#droppable").droppable({

        drop: function(event, ui) {

        $(this).addClass('ui-state-highlight').find('p').html('Dropped!');

        }

        });

        });

        </script>

        上面代碼表示當DOM拖動到指定的DOM中,該DOM背景色變,增加一個class效果。

        第二個(Accepted elements),代碼:

        <script type="text/javascript">

        $(function() {

        $("#draggable, #draggable-nonvalid").draggable();

        $("#droppable").droppable({

        accept: '#draggable',

        activeClass: 'ui-state-hover',

        hoverClass: 'ui-state-active',

        drop: function(event, ui) {

        $(this).addClass('ui-state-highlight').find('p').html('Dropped!');

        }

        });

        });

        </script>

        上面代碼分別給兩個DOM都用了Draggable方法讓其可以拖動,然后對其第二個DOM用了droppable()方法,并且給了hoverCalss,讓拖動到指定的DOM上浮動時候也產生效果,并且當放開鼠標后再次產生一個效果。

        第三個(Prevent propagation),代碼:

        <script type="text/javascript">

        $(function() {

        $("#draggable").draggable();

        $("#droppable, #droppable-inner").droppable({

        activeClass: 'ui-state-hover',

        hoverClass: 'ui-state-active',

        drop: function(event, ui) {

        $(this).addClass('ui-state-highlight').find('> p').html('Dropped!');

        return false;

        }

        });

        $("#droppable2, #droppable2-inner").droppable({

        greedy: true,

        activeClass: 'ui-state-hover',

        hoverClass: 'ui-state-active',

        drop: function(event, ui) {

        $(this).addClass('ui-state-highlight').find('> p').html('Dropped!');

        }

        });

        });

        </script>

        首先給第一個DOM可以拖動的效果,然后給第二個大DOM和第三個DOM都調用droppable()方法,所不同的是第二個方法中在調用drop時候返回一個false,而第三個不返回,第三個DOM在一開始就調用greedy:true,它們分別表示了,當將第一個DIV拖動到同級的第二個DIV的時候,如果拖動到它同級的DIV上時,只有外層DIV會產生效果,如果拖動到內層的DIV時,則整個DIV都產生效果,也就是包含外層同級的DIV,而第三個函數調用后只是你拖動到哪個層的DIV,哪個層的DIV產生效果。

        第四個(Visual feedback)代碼:

        <script type="text/javascript">

        $(function() {

        $("#draggable").draggable();

        $("#droppable").droppable({

        hoverClass: 'ui-state-active',

        drop: function(event, ui) {

        $(this).addClass('ui-state-highlight').find('p').html('Dropped!');

        }

        });

        $("#draggable2").draggable();

        $("#droppable2").droppable({

        accept: "#draggable2",

        activeClass: 'ui-state-hover',

        drop: function(event, ui) {

        $(this).addClass('ui-state-highlight').find('p').html('Dropped!');

        }

        });

        });

        </script>

        這個也同樣讓其中兩個DOM可以拖動讓另外兩個相對應的DOM上,這次相對應的兩個DOM分別調用了hoverCalss和activeClass以產生不同的效果。他們都是在鼠標拖動DOM浮動在其上所表現出的不同。

        第五個(Revert draggable position)代碼:

        <script type="text/javascript">

        $(function() {

        $("#draggable").draggable({ revert: 'valid' });

        $("#draggable2").draggable({ revert: 'invalid' });

        $("#droppable").droppable({

        activeClass: 'ui-state-hover',

        hoverClass: 'ui-state-active',

        drop: function(event, ui) {

        $(this).addClass('ui-state-highlight').find('p').html('Dropped!');

        }

        });

        });

        </script>

        同樣,給其中兩個DOM可拖動效果,然后分別拖動兩個DOM到指定的DOM上。他們在調用draggable()方法時就給了不同的revert參數,讓其分別拖動到指定DOM上產生不同效果,第一個效果是當拖動到指定的DOM上后,它返回到原來的位置,而指定的DOM也產生相應的效果,第二個效果是當拖動到指定的DOM上后,指定DOM產生相應效果,當把其再拖出時,它返回到原來所在DOM的位置。

        第六個(Simple photo manager),代碼:

        <script type="text/javascript">

        $(function() {

        // there's the gallery and the trash

        var $gallery = $('#gallery'), $trash = $('#trash');

        // let the gallery items be draggable

        $('li',$gallery).draggable({

        cancel: 'a.ui-icon',// clicking an icon won't initiate dragging

        revert: 'invalid', // when not dropped, the item will revert back to its initial position

        containment: $('#demo-frame').length ? '#demo-frame' : 'document', // stick to demo-frame if present

        helper: 'clone',

        cursor: 'move'

        });

        // let the trash be droppable, accepting the gallery items

        $trash.droppable({

        accept: '#gallery > li',

        activeClass: 'ui-state-highlight',

        drop: function(ev, ui) {

        deleteImage(ui.draggable);

        }

        });

        // let the gallery be droppable as well, accepting items from the trash

        $gallery.droppable({

        accept: '#trash li',

        activeClass: 'custom-state-active',

        drop: function(ev, ui) {

        recycleImage(ui.draggable);

        }

        });

        // image deletion function

        var recycle_icon = '<a href="http://www.php1.cn/">

        function deleteImage($item) {

        $item.fadeOut(function() {

        var $list = $('ul',$trash).length ? $('ul',$trash) : $('<ul class="gallery ui-helper-reset"/>').appendTo($trash);

        $item.find('a.ui-icon-trash').remove();

        $item.append(recycle_icon).appendTo($list).fadeIn(function() {

        $item.animate({ width: '48px' }).find('img').animate({ height: '36px' });

        });

        });

        }

        // image recycle function

        var trash_icon = '<a href="http://www.php1.cn/">

        function recycleImage($item) {

        $item.fadeOut(function() {

        $item.find('a.ui-icon-refresh').remove();

        $item.css('width','96px').append(trash_icon).find('img').css('height','72px').end().appendTo($gallery).fadeIn();

        });

        }

        // image preview function, demonstrating the ui.dialog used as a modal window

        聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

        文檔

        基于jQuery的JavaScriptUI設計

        基于jQuery的JavaScriptUI設計:jQuery UI 是以 jQuery 為基礎的開源 JavaScript 網頁用戶界面代碼庫,是jquery官方推出的配合jquery使用的用戶界面組件集合!包含了許多的界面操作功能。無論是jQuery UI 還是jQuery的EasyUI框架都能夠幫助你,使你建立你的網頁很容易。 jQuery U
        推薦度:
        • 熱門焦點

        最新推薦

        猜你喜歡

        熱門推薦

        專題
        Top
        主站蜘蛛池模板: 亚洲网站视频在线观看| 亚洲 另类 无码 在线| 亚洲国产成人久久综合碰碰动漫3d | 国产成人亚洲综合网站不卡| 一级毛片在线免费看| 久久精品国产亚洲AV果冻传媒| 国产做国产爱免费视频| 久久久久亚洲AV成人网人人软件| 亚洲AV成人精品日韩一区| 伊在人亚洲香蕉精品区麻豆| 日韩少妇内射免费播放| 亚洲欧洲自拍拍偷午夜色无码| 十八禁在线观看视频播放免费| 久久精品夜色国产亚洲av| 中文字幕日本人妻久久久免费| 亚洲国产精品特色大片观看完整版 | 又黄又大又爽免费视频| 一级女人18片毛片免费视频 | 亚洲免费观看网站| 国产亚洲sss在线播放| 日韩在线免费看网站| 免费大片av手机看片高清| 亚洲人成亚洲人成在线观看| 无码人妻AV免费一区二区三区| 亚洲小说图片视频| 免费国产成人高清视频网站| 91在线免费观看| 亚洲精品视频在线观看免费| 国产精品无码一区二区三区免费| 中文在线免费不卡视频| 亚洲精品高清国产麻豆专区| 国产精品深夜福利免费观看| 国产乱子伦精品免费视频| 亚洲精品在线免费观看视频| 国产精品免费看香蕉| 最近免费中文字幕中文高清| 亚洲中文字幕久久精品无码VA| 亚洲精品综合久久| 亚洲电影免费观看| 一级a性色生活片久久无少妇一级婬片免费放 | 亚洲国产精彩中文乱码AV|