美文网首页技术干货
原创jquery拖拽排序图片上传插件实现(上)

原创jquery拖拽排序图片上传插件实现(上)

作者: 进击的大牛 | 来源:发表于2017-05-14 15:45 被阅读0次

    从文章标题就能看出是一个专门做图片上传的插件,拖拽排序借鉴了网上的一个方法,融合到了本插件中,提供了一个专门捕捉图片绝对路径,链接,索引的方法,具体代码实现如下

    html结构及其配置参数

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>可拖拽的上传插件</title>
        <link rel="stylesheet" href="css/upload1.1.css" />
    </head>
    <body>
    
       <div class="div3" id="div3"></div>
       <a href="javascript:save();">保存</a>
       <script src="js/jquery-2.1.1.min.js"></script>
       <script src="js/TaoUpload-1.3.js"></script>
       <script>
           TaoTaoUpload({
               uId:"div3",
              // skin:"lightblue"  非必选参数(皮肤)
           });
           //取值操作,需要在控件下面获取
           function save(){
              console.log( jsonVal("div3"));
           }
       </script>
    </body>
    </html>
    

    这里的这个方法用来上传数据

          //获取值操作
           function jsonVal(id){
               var array =[];
               var domObj = $("#"+id).find(".ul_Upload_nav").find(".li_for_Five");
               for(var i =0;i<domObj.length;i++){
                   array.push({
                       src:domObj.eq(i).attr("data-src"),
                       href:domObj.eq(i).attr("data-href"),
                       index:domObj.eq(i).attr("data-index")
                   })
               }
               return array;
           }
    

    Css样式编写

    body{ margin: 0;padding: 0;font-family: "微软雅黑";overflow: hidden;}
    body,html{-webkit-text-size-adjust: none;width: 100%;height: 100%;}
    *{text-decoration: none;list-style: none;}
    img{border: 0px;}
    ul,li,dl,dd,dt,p,ol,h1,h2,h3,h4,h5{font-size: 12px;font-weight: 100;padding: 0;margin: 0;}
    .wrap{margin: 0 auto;}
    .fl{float: left;}
    .fr{float: right;}
    .index{overflow: hidden;}
    .clr{clear:both; height:0px; width:100%; font-size:1px; line-height:0px; visibility:hidden; overflow:hidden;}
    .pointer{cursor:pointer;}
    a,input,button{ outline:none; }
    ::-moz-focus-inner{border:0px;}
    /*a:link {color:#0f0;text-decoration:none;}
    a:visited {color: #FFFF00; text-decoration:none;}
    a:hover {color: #00FF00; text-decoration:underline;}
    a:active {color: #0000FF; text-decoration:underline;}*/
    a{color: #000;}
    .wrapper{clear: both;width: 100%;}
    /**
    插件重要样式
     */
    .ul_Upload_nav{
        width: 100%;
        height: auto;
        float: left;
        margin-bottom: 20px;
    }
    
    .ul_Upload_nav li{
        width: 80px;
        height: 100px;
        background: url("../image/uploadsPic.png") no-repeat center center;
        background-size: 100% auto;
        float: left;
        color: #FFFFFF;
        line-height: 100px;
        text-align: center;
        position: relative;
        margin-right: 30px;
        border: 1px dashed #eeeeee;
        margin-top: 15px;
        margin-left: 20px;
    }
    .ul_Upload_nav li.li_for_Five{
        cursor: pointer;
        position: relative;
    
    }
    /* .ul_Upload_nav li.li_for_Five .zhezhao_upload_div{
         width: 15px;
         height: 15px;
         background:#000;
         color: #FFFFFF;
         text-align: center;
         line-height: 15px;
         position: absolute;
         right: -8px;
         top: -8px;
         border-radius: 50%;
         z-index: 8888;
     }*/
    .ul_Upload_nav li.li_for_Five .zhezhao_upload_div{
        width: 100%;
        height: 25px;
        line-height: 25px;
        background:rgba(0,0,0,0.5);
        color: #FFFFFF;
        text-align: center;
        position: absolute;
        left: 0;
        bottom: 0;
        font-family: 'PingFangSC-Regular', 'PingFang SC';
        font-style: normal;
        font-weight: 400;
        font-size: 14px;
    }
    .hide_file_input{
        position: absolute;
        width: 100%;
        height: 100%;
        top: 0;
        left: 0;
        opacity: 0;
    }
    .a_Upload_btn_add{
        display:inline-block;
        width: 130px;
        height: 30px;
        line-height: 30px;
        text-align: center;
        background: lightblue;
        border-radius: 10px;
        margin-top: 0;
        text-decoration: none;
        color: #FFFFFF;
        margin-left: 20px;
    }
    /***
    / 弹层
     */
    div.boxTanceng{
        width: 400px;
        height: auto;
        position: fixed;
        left: 50%;
        margin-left: -200px;
        top: 25%;
        background: #FFFFFF;
        border: 1px solid #ccc;
        display: none;
    }
    div.boxTanceng .boxTanceng_title{
        width: 100%;
        height: 48px;
        line-height: 48px;
        text-indent: 2em;
        background: #ccc;
        color: #FFFFFF;
    }
    div.boxTanceng .boxTanceng_body .tupian_upload_src{
        margin-top: 20px;
        font-family: 'PingFangSC-Regular', 'PingFang SC';
        font-style: normal;
        font-weight: 400;
        font-size: 14px;
        float: left;
    }
    div.boxTanceng .boxTanceng_body li:first-child{
        width: 100px;
        height: 100px;
        margin-left:70px ;
        float: left;
    
    }
    div.boxTanceng .boxTanceng_body .file_upladd_input_hides{
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 80%;
        opacity: 0;
    }
    div.boxTanceng .boxTanceng_body li .tupian_upload_src_images{
        display: inline-block;
        width: 100px;
        height: 100px;
        border: 1px dashed #eeeeee;
        margin-left: 30px;margin-top: 10px;
    
    }
    div.boxTanceng .boxTanceng_body .tupian_upload_href{
        margin-top: 20px;
        font-family: 'PingFangSC-Regular', 'PingFang SC';
        font-style: normal;
        font-weight: 400;
        font-size: 14px;
        float: left;
    }
    div.boxTanceng .boxTanceng_body li:last-child input{
        width: 80%;
        height: 30px;
        border-radius: 5px;
        border: 1px solid #eeeeee;
        float: left;
        margin-top: 15px;
    }
    div.boxTanceng .boxTanceng_footer{
        margin-top: 80px;
    }
    div.boxTanceng .boxTanceng_footer .upload_btn{
        display: inline-block;
        width: 120px;
        height: 30px;
        margin: 10px 5px;
        text-align: center;
        line-height: 30px;
        color: #FFFFFF;
        background: #CCCCCC;
        text-decoration: none;
        border-radius: 15px;
    }
    div.boxTanceng .boxTanceng_footer .quxiao_upload_btn_noSave{
        margin-left: 50px;
        background: #eeeeee ;
    
    }
    

    总结

    代码比较多,js部分放在下部里,喜欢的小伙伴可以看一下。

    相关文章

      网友评论

        本文标题:原创jquery拖拽排序图片上传插件实现(上)

        本文链接:https://www.haomeiwen.com/subject/ktuqxxtx.html