我有一个可调整大小的窗口:
$(".question-case-story").resizable(
{ handles:{'s': handle },
alsoResize: ".question-case-inner",
//minHeight: #,
//maxHeight: #,
maxHeight: $(".question-case-story").height(),
resize: function (event, $this) { $(this).css({left:'inherit', top:'inherit'}); }
});
当我点击按钮在别处做某事时,我想让这个调整大小自动发生,但是到特定高度(窗口高度)。我怎么能这样做?
我发现了一个类似的问题,但它没有解决如何设置任何细节:How to trigger jquery Resizable resize programmatically?
同样的事情:http://forum.jquery.com/topic/triggering-resize-event-set-by-resizable
我正在运行jQuery UI v.1.9.2
更新:我不能只是“设置”新的高度($(thing).css('height', whatever)
),因为该div内部还有其他与可调整大小的功能交互的内容。
答案 0 :(得分:1)
应该这样做:
var manresize=false;//Variable declared in a global scope
$('#buttonid').click(function(){
manresize=true;
$(".question-case-story").trigger('resize');
});
现在您需要create a custom event调用manualresize
作为示例。
然后将该事件的侦听器附加到$(".question-case-story")
对象
$(".question-case-story").bind('manualresize',function(){
//Same code that would run in the .resizable()
//method with a resize event trigger
});
复制/使用.resizable()
事件调用的resize
窗口小部件中的代码(不是100%肯定这个,但我认为jQuery遗憾地不使用prototype
)您的自定义活动
在$(".question-case-story")
对象中:
resize: function (event, $this) {
$(this).css({left:'inherit', top:'inherit'});
if(manresize/*var set on manual trigger*/){$(this).trigger("manualresize");manresize=false;}
}
答案 1 :(得分:0)
如果我理解正确,你只想要调整元素大小,那么试试吧:
$('#button').on('click', function(){
$('.question-case-story').width(somevalue);
$('.question-case-story').height($(window).height());
}