jQuery UI-使用position API定位隐藏的div未正确定位
我试图使用jquery UI API(jQuery UI-使用position API定位隐藏的div未正确定位,jquery,jquery-ui,Jquery,Jquery Ui,我试图使用jquery UI API(#changer相对于.demo)在下面的HTML中定位一个div 注意: 第一次就可以了 如果我移除.fadeOut并将位置移动到下面的代码外部,同样可以正常工作 如果在.position之前添加.hide,同样会失败。((即)$(“#变换器”).hide().position) 我很想知道我做错了什么。状态“注意:jQuery UI不支持定位隐藏元素”。因此,通过先淡出元素,可以阻止.position()正常工作。由于.fadeOut()应用显示:无
#changer
相对于.demo
)在下面的HTML中定位一个div
注意:
.fadeOut
并将位置移动到下面的代码外部,同样可以正常工作
.position
之前添加.hide
,同样会失败。((即)$(“#变换器”).hide().position
)
我很想知道我做错了什么。状态“注意:jQuery UI不支持定位隐藏元素”。因此,通过先淡出元素,可以阻止.position()
正常工作。由于.fadeOut()
应用显示:无代码>到元素,它没有位置,因此无法相对移动
但是,您可以使用.animate()
仅更改不透明度:
演示:
jQuery:
$('.demo').click(function() {
var _that = this;
$("#changer").animate({
"opacity": 0
}, 100, function() {
$(this).position({
of: _that,
my: 'left top',
at: 'right top',
offset: '10 10'
}).animate({
"opacity": 1
}, 100)
});
});
注意,我删除了display:none。翻转.position(…)
和.show()
——jQuery UIposition
插件无法正确计算隐藏元素的位置
$('.settings-icon').click(function(){
$('#control-panel').show().position({
of: $(this),
my: 'left top',
at: 'left top'
});
});
这有用吗@詹姆斯克利谢谢你。。是的。。但我想知道为什么.position
会把它搞砸。我不熟悉position API,但从一眼看,它似乎必须是一个子元素才能正常工作。这并不能解释为什么删除淡出会修复它。@JamesKleeh mm不。。没有帮助,mm说得通。。谢谢,我刚刚开始挖掘jquery代码:)第一次达到了200次/天的限制,这是你应得的。我花了至少20分钟试图解决这个问题,当他张贴它。有时候,你只需要阅读整个文档,而不是试图编写代码稍微解释一下就好了。@G.Samaras解释补充;)@扎乌斯博士,我希望原作者能加上它,而不是你(不,我和你有点关系……但这是他的答案!:O;)。
$("#changer").position({
of: this,
my: 'left top',
at: 'right top',
offset: '10 10'
}).show();
$('.demo').click(function() {
var _that = this;
$("#changer").animate({
"opacity": 0
}, 100, function() {
$(this).position({
of: _that,
my: 'left top',
at: 'right top',
offset: '10 10'
}).animate({
"opacity": 1
}, 100)
});
});
$('.settings-icon').click(function(){
$('#control-panel').show().position({
of: $(this),
my: 'left top',
at: 'left top'
});
});