【问题标题】:how to drag element automatically jquery ui如何自动拖动元素jquery ui
【发布时间】:2016-07-20 07:59:30
【问题描述】:

我正在使用可拖动的 jquery UI。我在拖动功能方面做了一些工作。例如,我根据拖动元素的位置缩放拖动元素。我想将元素自动拖动到某个(x,y)(类似于 jquery animate({left:x, top:y}, 1000)); 但我想在动画时触发拖动功能和缩放元素。我该怎么做?

【问题讨论】:

    标签: javascript jquery css jquery-ui jquery-ui-draggable


    【解决方案1】:

    我建议另一种方法来做到这一点。

    使用外部函数进行缩放效果,并从两个事件(draganimate)中调用它:

    var $myDraggable = $('#draggable').draggable({
        drag: function( event, ui ) {
            scale(ui.offset.left, ui.offset.top); 
        }
    });
    
    $('button').on('click', function(){
        $myDraggable.animate(
        { left:100, top:100 }, 
        {
            duration: 1000,
            progress: function(draggable){
               scale(draggable.elem.offsetLeft, draggable.elem.offsetTop);
            }
        });
    });
    
    function scale(left, top){
        //your scaling logic here
        console.log("scaling", left, top);
    }
    

    请参阅此示例:FIDDLE

    【讨论】:

    • 不错的答案!进步就是工作!非常感谢:*
    【解决方案2】:

    https://jsfiddle.net/moongod101/8gdvz9jL/

    PS:此代码提供了按钮切换功能

    $(function(){
    
      $button = $('button')
      $box = $('.box')
      $click = 0
    
      $button.click(function(){
    
        if($click !=0){
            $click ++
            $box.removeClass('active')
        }else{
            $click --
            $box.addClass('active')
        }
    
      });
    
    });
    

    【讨论】:

    • 谢谢。但是我想jquery-ui检测到元素在拖拽,调用draggable的拖拽函数。
    猜你喜欢
    • 1970-01-01
    • 2012-06-27
    • 1970-01-01
    • 2014-06-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多