我无法通过jQuery-ui工具提示来改变位置。现在它出现在鼠标下面,因此在使用下拉列表时会出现问题。我已经改变了偏移,但没有任何区别。当我在jQuery ui docs中查找它时,它没有显示偏移函数。我的代码出了什么问题(页面上没有错误)
当前(指针下方):
jQuery( document ).tooltip({ offset: [450, 570], delay: 4000, effect: 'slide' });
试过这个,同样的立场:
jQuery( document ).tooltip({ offset: [900, 1000], delay: 4000, effect: 'slide' });
从JQ ui Docs尝试了这个但是它完全改变了工具提示,但是将它全部改为一行并将离开页面:
jQuery( document ).tooltip({ "option", "position", { my: "left+15 center", at: "right center" } );
答案 0 :(得分:1)
您在前两行中指定的选项不是工具提示的有效jQueryUI小部件选项。写这个:
jQuery( document ).tooltip({ offset: [450, 570], delay: 4000, effect: 'slide' });
相当于根本不传递任何选项:
jQuery( document ).tooltip({});
虽然可以说小部件初始化者不应该默默地吞下无效的选项,但这正是它所做的。
delay
和effect
对工具提示的show
和hide
选项有效,您可能打算在那里使用它们:
jQuery( document ).tooltip({
show: { delay: 4000, effect: 'slide' },
hide: { delay: 4000, effect: 'slide' }
});
对于意外的position
行为,这可能是因为collision
的默认值。如果您未指定position
,the widget's initialise r默认为flipfit flip
:
position: {
my: "left top+15",
at: "left bottom",
collision: "flipfit flip"
},
但是,当您指定position
但未包含colision
时,the position plugin会将其默认为flip
:
collision = ( options.collision || "flip" ).split( " " )
jQueryUI充满了这些小问题,但它们都有很好的记录。我强烈建议您在使用插件之前阅读文档。当你开始修改默认值时,你的工具提示的行为可能会更加可预测(例如top+30
而不是我无法想象的left+15
;或者使用{{1}确保位置使用鼠标坐标而不是包含元素。从那里,如果你需要更具体的帮助,请做一些像jsfiddle这样的确切问题。