HTML代码:

HTML代码主要定义了多少个回收站文件夹的容器,以及各样小图标的图片。

<div id=”main”>

<div class=”folder”>
<div class=”front”></div>
<div class=”back”></div>
</div>​

<img src=”assets/48px/box.png” style=”top:340px;left:100px;” alt=”box” />
<img src=”assets/48px/calculator.png” style=”top:340px;left:170px;” alt=”calculator” />
<img src=”assets/48px/clipboard.png” style=”top:340px;left:240px;” alt=”clipboard” />
<img src=”assets/48px/console.png” style=”top:340px;left:310px;” alt=”console” />
<img src=”assets/48px/basketball.png” style=”top:340px;left:380px;” alt=”basketball” />
<img src=”assets/48px/facebook.png” style=”top:400px;left:100px;” alt=”facebook” />
<img src=”assets/48px/gift.png” style=”top:400px;left:170px;” alt=”gift” />
<img src=”assets/48px/id_card.png” style=”top:400px;left:240px;” alt=”id card” />
<img src=”assets/48px/imac.png” style=”top:400px;left:310px;” alt=”imac” />
<img src=”assets/48px/system_monitoring.png” style=”top:400px;left:380px;” alt=”system monitoring” />

</div>

代码结构比较简单,下边是简约的CSS代码。

 

CSS代码:

.folder {
    /* This will enable the 3D effect. Decrease this value 
     * to make the perspective more pronounced: */

    -webkit-perspective: 800px;
    -moz-perspective: 800px;
    perspective: 800px;

    position: absolute;
    top: 50%;
    left: 50%;
    z-index: 0;

    width: 160px;
    height: 120px;
    margin: -100px 0 0 -60px;
}

.folder div{
    width:150px;
    height:115px;

    background-color:#93bad8;

    /* Enabling 3d space for the transforms */
    -webkit-transform-style: preserve-3d;
    -moz-transform-style: preserve-3d;
    transform-style: preserve-3d;

    /* Enabling a smooth animated transition */
    -webkit-transition:0.5s;
    -moz-transition:0.5s;
    transition:0.5s;

    /* Disable text seleltion on the folder */
    -webkit-user-select: none;
      -moz-user-select: none;
      user-select: none;

    position:absolute;
    top:0;
    left:50%;
    margin-left:-75px;
}

.folder .front{
    border-radius:5px 5px 0 0;

    -moz-transform:rotateX(-30deg);
    -webkit-transform:rotateX(-30deg);
    transform:rotateX(-30deg);

    -moz-transform-origin:50% 100%;
    -webkit-transform-origin:50% 100%;
    transform-origin:50% 100%;

    background-image: -moz-linear-gradient(top, #93bad8 0%, #6c9dc0 85%, #628faf 100%);
    background-image: -webkit-linear-gradient(top, #93bad8 0%, #6c9dc0 85%, #628faf 100%);
    background-image: linear-gradient(top, #93bad8 0%, #6c9dc0 85%, #628faf 100%);

    box-shadow:0 -2px 2px rgba(0,0,0,0.1), 0 1px rgba(255,255,255,0.35) inset;

    z-index:10;

    font: bold 26px sans-serif;
    color: #5A88A9;
    text-align: center;
    text-shadow: 1px 1px 1px rgba(255, 255, 255, 0.1);
    line-height: 115px;
}

.folder .back{
    background-image: -webkit-linear-gradient(top, #93bad8 0%, #89afcc 10%, #5985a5 60%);
    background-image: -moz-linear-gradient(top, #93bad8 0%, #89afcc 10%, #5985a5 60%);
    background-image: linear-gradient(top, #93bad8 0%, #89afcc 10%, #5985a5 60%);

    border-radius:0 5px 0 0;
    box-shadow:0 -1px 1px rgba(0,0,0,0.15);
}

.folder .back:before{
    content:'';
    width:60px;
    height:10px;
    border-radius:4px 4px 0 0;
    background-color:#93bad8;
    position:absolute;
    top:-10px;
    left:0px;
    box-shadow:0 -1px 1px rgba(0,0,0,0.15);
}

.folder .back:after{
    content:'';
    width:100%;
    height:4px;
    border-radius:5px;
    position:absolute;
    bottom:5px;
    left:0px;
    box-shadow:0 4px 8px #333;
}

.folder.open .front{
    -moz-transform:rotateX(-50deg);
    -webkit-transform:rotateX(-50deg);
    transform:rotateX(-50deg);
}

/*----------------------------
    Draggable Icons
-----------------------------*/

#main img{
    position:absolute;
    cursor:move;
}

按照上边的CSS定义,删除小图标的回收站文件夹的外观是3D的,那一个要看你浏览器的3D资助意况。

最后是最要害的jQuery代码,真正落到实处了鼠标拖拽图标,并将其放入回收站,这里引用了jQuery
UI的脚本库,熟稔jQuery的情人应该对jQuery UI不会见生,那里不再赘言。

jQuery代码:

$(function() {

    var folder = $("#main .folder"),
        front = folder.find('.front'),
        img = $("#main img"),
        droppedCount = 0;

    img.draggable();

    folder.droppable({
        drop : function(event, ui) {

            // Remove the dragged icon
            ui.draggable.remove();

            // update the counters
            front.text(++droppedCount);

        },

        activate : function(){
            // When the user starts draggin an icon
            folder.addClass('open');
        },

        deactivate : function(){
            // Close the folder
            folder.removeClass('open');
        }
    });
});

经过地方的代码,大家就贯彻了二个依照jQuery的小图标删除回收站效果,上边只是主导代码,详细代码大家可以下载源代码来研商。源代码下载>>

jQuery是一款特别强大的Javascript脚本库,咱们开发者喜欢jQuery的原故除了它代码简洁外,越来越多的是因为jQuery插件分外丰盛。后天我们用多个演示来分解jQuery是怎样落到实处拖拽的。

jQuery 1

下边来总结介绍一下贯彻那款jQuery拖拽删除小图标的不二法门流程,紧要不外乎HTML代码、CSS3代码以及jQuery代码。

世家也足以看DEMO演示

利用jQuery已毕拖拽分外简单,大家平昔可以采纳jQuery内部封装的拖拽接口即可简单实今后网页上拖拽任意成分。前些天我们就接纳jQuery的这一特色来促成二个拖拽删除桌面小图标的功用,就像是操作系统的回收站一样,大家只必要拖动应用图标至垃圾箱即可删除那几个图标,具体可以看上面的DEMO演示。

相关文章

网站地图xml地图