實現頁面元素的拖拽(jqueryui實現)


之前實現元素的拖拽很多都是通過js手寫的,后來發現使用jqueryui實現,簡單特別多,而且能完成很多附加功能。

首先是最基本的用法。$(" ").draggable()就能實現指定元素的拖拽

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title></title>
        <link rel="stylesheet" href="//apps.bdimg.com/libs/jqueryui/1.10.4/css/jquery-ui.min.css">
        <script src="//apps.bdimg.com/libs/jquery/1.10.2/jquery.min.js"></script>
        <script src="//apps.bdimg.com/libs/jqueryui/1.10.4/jquery-ui.min.js"></script>
    </head>
    <body>

        <div class="selector" style="width: 300px;height: 300px;background-color: lightsalmon;" >
        </div>
    </body>
    <script type="text/javascript">

       $(function(){
               $( ".selector" ).draggable();
       })
    </script>
</html>

有時候,我們需要拖動元素內部某一塊禁止拖動,又有些時候,我們只需要某一塊內容能被拖動。

可以借助屬性handle和cancel來實現,handle是可以指定元素,只有被指定的元素能拖動。cancel是剛好相反

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title></title>
        <link rel="stylesheet" href="//apps.bdimg.com/libs/jqueryui/1.10.4/css/jquery-ui.min.css">
        <script src="//apps.bdimg.com/libs/jquery/1.10.2/jquery.min.js"></script>
        <script src="//apps.bdimg.com/libs/jqueryui/1.10.4/jquery-ui.min.js"></script>
    </head>
    <body>

        <div class="handle" style="width: 300px;height: 300px;background-color: lightsalmon;" >
            <div class="selector1" style="width:100px;height: 100px;background-color: lightseagreen;"></div>
            <div id="test1" style="width: 100px;height: 100px;background-color: lightgreen;"></div>
        </div>
        
        <div class="cancel" style="width: 300px;height: 300px;background-color: lightcyan;" >
            <div class="selector2" style="width:100px;height: 100px;background-color: lightgrey;"></div>
            <div id="test2" style="width: 100px;height: 100px;background-color: lightpink;"></div>
        </div>
    </body>
    <script type="text/javascript">

       $(function(){
         //可以同時指定多個,使用逗號隔開 $(
".handle" ).draggable({ handle: ".selector1,#test1" }); $( ".cancel" ).draggable({ cancel: ".selector2,#test2" }); }) </script> </html>

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM