标签: jquery-ui-resizable

jQuery-UI可调整大小,调整子元素的大小

我有div元素,包含图像.我想使用jQuery-UI使div可调整大小,调整div和子图像元素的大小.

我已尝试使用alsoResize,如下所示,但它似乎调整了第一个div图像而不是相应的子图像.

$('div').resizable({
    alsoResize: $(this).find('img'),
    aspectRatio: true,
    maxHeight: 140
});
Run Code Online (Sandbox Code Playgroud)

我创建了一个小提琴来演示这个http://jsfiddle.net/letsgojuno/EhyGy/

看起来这个上下文总是第一个div,而不是当前正在调整大小的div.

jquery-ui jquery-ui-resizable

3
推荐指数
1
解决办法
6746
查看次数

如何在可调整大小的事件后取消点击?

我正在使用Jquery UI可调整大小的插件来调整各种div的大小.考虑以下HTML页面(嵌入了JS):

<html>
<head></head>
<body>
<div id="site">
    <div>This element is resizable</div>
    <br />
    <div style="width: 200px;">This is another resizable element</div>
</div>

<!-- javascript includes -->
<script>
$(function() {
    $("#site div").click(function() {

        console.log("Clicked");    
        if($(this).hasClass("selected")) {
            $(this).removeClass("selected");
        }
        else {        // Currently not selected, so let's select it        
            $(this).addClass("selected").resizable({
                start: function(event, ui) {
                    console.log("Start");
                },
                resize: function(event, ui) {
                    console.log("Resize");
                },
                stop: function(event, ui) {
                    console.log("Stop");
                }
            });
        }
    });
});
</script>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

所以,我在这个示例代码中想要完成的事情非常简单.当用户点击嵌套在"#site"中的div时,我希望div变为"已选中".因此,在此示例中,当触发div的click事件时,名为"selected"的CSS类将添加到单击的div中.除了单击div之外,用户还可以调整div的大小.当用户调整所选div的大小时会出现问题.显然,当用户首次选择div时会触发click事件,但当用户单击并拖动div的边缘以调整其大小时,也会触发click事件.click事件将调用click例程并取消选择div.这不是我想要发生的事情.只有在所有可调整大小的事件都被触发后才会触发click事件.

有了这个,我的问题是,我怎么能处理这个场景以允许用户单击并选择div,还允许div调整大小,但在拖动和调整div的大小时不取消选择?非常感谢您的帮助.提前致谢.

jquery jquery-ui-resizable

3
推荐指数
1
解决办法
2885
查看次数

jQuery Resizable改变了其他元素的位置

我在一个父div中有3个div,当你想第一次重新调整元素大小时,其他元素的位置会改变, JSFIDDLE

这是我的代码:

HTML

<div class="parent">
<div class="element" >BOX1</div>
<div class="element" >BOX2</div>
<div class="element" >BOX3</div>
</div>
Run Code Online (Sandbox Code Playgroud)

CSS

.parent { 
    width:300px;
    height:300px;
    background:#e0e0e0
}
.element {
    width:100px;
    height:20px;
    background:red;
}
Run Code Online (Sandbox Code Playgroud)

JS

$(document).ready(function() {
    var x = 0;
    $('.element').each(function() {
        x++;
        $(this).draggable({
            containment: $('.parent')
        });
        $(this).resizable({
            containment: $('.parent')
        });
        $(this).css('left', x * 50);
        $(this).css('top', x * 50);
    });
});
Run Code Online (Sandbox Code Playgroud)

的jsfiddle

jquery jquery-ui jquery-ui-resizable

3
推荐指数
1
解决办法
3950
查看次数

可调整大小的div不会改变"左"属性

我正在尝试使用jQuery UI的resizable()方法和flexbox(也许这就是问题?但我说不太可能).

我有3列,我希望左右列可调整大小,并使中心列占用任何剩余空间.我的CSS看起来像这样:

.container {
  display: flex;
}

.col-left,
.col-right {
  width: 200px;
}

.col-center {
  flex: 1;
}
Run Code Online (Sandbox Code Playgroud)

左列适用于此jquery:

$('.col-left').resizable({
  handles: 'e'
});
Run Code Online (Sandbox Code Playgroud)

并且在调整大小时添加的唯一属性是width,但是当我将其用于右列时:

$('.col-right').resizable({
  handles: 'w'
});
Run Code Online (Sandbox Code Playgroud)

宽度和左侧属性被添加.左边的房产真的搞砸了布局.它将左列拉到中心柱上,同时也用宽度将其压扁,因此最终结果非常糟糕.在我的检查员中,如果我删除左侧属性,它似乎工作得很好.

我已经在这里阅读了几次文档,但是我没有看到任何地方我会如何关闭它.

这是我重新创建问题的笔:http: //codepen.io/dustindowell/pen/NPyaBL

一个解决方法是监听resize事件并只是覆盖CSS但这看起来很糟糕.

$('.col-right').resizable({
  handles: 'w'
}).on('resize', function() {
  $(this).css({
    left: 0
  });
});
Run Code Online (Sandbox Code Playgroud)

更新:

经过一番挖掘后,我发现这是一个jQuery UI bug.

Bug Ticket:http: //bugs.jqueryui.com/ticket/4985#comment:1

javascript jquery jquery-ui jquery-ui-resizable

3
推荐指数
1
解决办法
1101
查看次数

jQuery UI可调整大小的克隆元素(.clone(true))不会调整大小

我遇到了克隆元素的奇怪问题(使用.clone(true)),jQuery UI具有可拖动和可调整大小的功能.克隆后,克隆的元素没有这些功能,它们只是不起作用.

我一直在寻找各种解决方案,比如在克隆之后分配功能并仍然存在问题.

这是代码

jQuery(document).ready(function(){
            jQuery('#res').draggable({
                containment: 'body',
                grid: [ 10, 10 ],
                snap: true,
            });
            jQuery('#res').resizable({
                grid : 10,
                handles : 's'
            });
            var res_clone = jQuery('#res').clone(true);
            jQuery(res_clone).attr('id', 'res_clone');
            jQuery('#res').parent().append(res_clone);
        });
Run Code Online (Sandbox Code Playgroud)

javascript jquery-ui jquery-ui-resizable

2
推荐指数
1
解决办法
3631
查看次数

在初始化程序中设置时,JQuery UI事件回调不会触发

我有以下代码

$(document).ready(function() {
    $('#content_reservation-fullCalendar').fullCalendar({
        header: {
                left: 'prev,next today',
                center: 'title',
                right: 'month,agendaWeek,agendaDay'
        },
        events: <?php echo($event_list); ?>
    });

    $("#content_reservation-fullCalendar").resizable({
        handles: 'e',
        create:
            function(event, ui){
                $('#content_reservation-fullCalendar').fullCalendar("render");
                console.log("fullCalendar resize intialized");
            },
        resize:
            function(event, ui) {
                $('#content_reservation-fullCalendar').fullCalendar("render");
                console.log("fullCalendar resize callback triggered");
            }
    });

    /*
    $("#content_reservation-fullCalendar").bind("resize", function(event, ui) {
        $('#content_reservation-fullCalendar').fullCalendar("render");
    });
    */
});
Run Code Online (Sandbox Code Playgroud)

作为一个drupal主题模板,当我在初始化程序中设置事件回调时,它们不会被触发,但是当我resize通过绑定绑定事件时它起作用,但不适用于resizecreate.我想知道为什么这些事件没有作为初始化程序的一部分进行注册,是否有一些我缺少的东西或者它可能是一些配置问题.我没有收到任何php/javascript错误.

相关的JQuery UI文档页面

javascript jquery jquery-ui jquery-ui-resizable fullcalendar

2
推荐指数
1
解决办法
4238
查看次数

jQuery resizable 为每个方向指定不同的最大值

我会在可调整大小的 div 上指定不同的最大约束。例如,我希望北方向最大调整大小为 20 像素,南方向最大调整大小为 200 像素。

我可以使用 maxHeight 轻松完成一个方向,并将手柄限制在一个方向,但我无法同时管理这两个方向。

绝对不可能吗?

jquery jquery-ui resizable jquery-ui-resizable

2
推荐指数
1
解决办法
4006
查看次数

在视频元素顶部移动时,可调整大小/可拖动的jQuery UI失去了“抓地力”

我有一个带有嵌入式youtube视频的页面,并且正在尝试实现自定义叠加层,您可以在其中使用可调整大小和可拖动的区域<div>(使用JQuery UI)定义区域。

<div>屏幕上的其他区域拖动鼠标时,它的响应速度非常快,但是在视频上播放(如果使用IFrame API嵌入,则很重要),如果将鼠标移到抓取位置以外的任何位置,它将定期“失去抓地力”在调整大小手柄或移动手柄上。IE和Chrome都是这种情况。

JSFiddle此处:http//jsfiddle.net/MfZes/1/(可拖动框位于youtube框架下方)

有谁知道这是为什么,或者是否可以避免?

提前致谢。

javascript jquery jquery-ui youtube-api jquery-ui-resizable

2
推荐指数
1
解决办法
1189
查看次数

jQuery UI可调整大小 - 与网格同步

我有两个可调整大小的元素,我需要它们调整大小同步维护网格.似乎这两个选项不能一起工作.有任何想法吗?

演示:http://jsfiddle.net/CbYtT/2/ (尝试水平调整大小)

$(function() {

    $( "#this" ).resizable({
        alsoResize: "#that", 
        grid: 100

    });

    $( "#that" ).resizable({
        alsoResize: "#this", 
        grid: 100
    });

});
Run Code Online (Sandbox Code Playgroud)

jquery jquery-ui jquery-ui-resizable

1
推荐指数
1
解决办法
3679
查看次数

JQuery UI可调整大小调整事件绑定/调整大小事件到Backbone View

我有一个视图,不是窗口的大小,也不是窗口本身,当它调整大小时,我想比较调整大小的开始和结束值.然而,JQ-UI的resize ui对象仅包含前一个状态,而不是原始状态,因此它只是按像素抓取更改(虽然我认为这是因为我将代码放在resize函数中,而不是end函数,但是这不是真正的问题,因为一旦我知道如何将var恢复到Backbone View本身就可以解决它.如何从调整大小中获取信息回到主干视图? self是全局window对象,this是来自选择器的JQuery结果this.el.

define([ ... ], function( ... ){
  return Backbone.View.extend({
    // I also tried to use the event handlers from backbone
    events : {
      'resize' : 'info'
    },
    initialize: function(options){
      if (options) { ... }
        this.el = '#measure-rep-c55';
      }
      //Dispatch listeners
      ...
      //Binding
      this.model.bind('change', _.bind(this.render, this));
      $(this.el).on('resize', this.info);  // Here I am trying to attach the listener here according the API

      this.render();
    },
    info: function(){
      console.log('in info')
    },
    render: function(){ 
      ... …
Run Code Online (Sandbox Code Playgroud)

javascript jquery-ui jquery-ui-resizable backbone.js

1
推荐指数
1
解决办法
2180
查看次数