更改窗口大小的工具提示位置
Change position of tooltip on window resize
我使用jQuery UI为搜索输入字段创建一个工具提示。然后我想根据浏览器窗口的大小来定位工具提示(小于768px在顶部,大于则在左侧)。
我用:
初始化工具提示$('#search').tooltip({'placement':'top'});
然后我有这个函数来改变位置取决于窗口的大小:
$(window).on('resize', function() {
if ($(window).width < 768) {
$("#damSearch").tooltip({'placement':'top'});
} else {
$("#damSearch").tooltip({'placement':'left'});
}
}).trigger('resize');
由于某些原因,它不起作用。工具提示初始化很好,但是当我将浏览器的大小调整到768px以上时,它仍然看起来位于顶部。
[编辑]
我离开了几天,刚刚回来试图解决这个问题。我已经安装了Modernizr,因为我打算在网站的其他地方使用它,所以我想我应该使用Modernizr。Mq以检测窗口大小调整。我还在其他地方读到,重新定位工具提示的代码应该在它自己的自包含函数中,所以这是函数:
function positionTooltip() {
if (Modernizr.mq('(min-width: 768px)')) {
$("#damSearch").tooltip({'placement':'left'});
} else {
$("#damSearch").tooltip({'placement':'bottom'});
}
}
然后在我的Javascript文件中加上:
$(document).ready(function() {
positionTooltip();
// Fire the function on page load
$(window).resize(positionTooltip);
// Fire function on window resize event
不幸的是,它仍然不能正常工作。当页面首次加载时,工具提示的位置显示正确,但如果我随后调整浏览器的大小,则位置不会更新。然而,如果我重新加载页面,工具提示的位置会相应地改变。
就好像resize事件没有触发函数。
(/编辑)如往常一样,非常感谢所有的帮助和建议。托尼。
你需要调用width函数
if ($(window).width() < 768) {
注意括号()
相关文章:
- 我可以't使用jQuery更改工具提示引导程序的位置
- highcharts:更改工具提示和阴影(悬停)的标准位置
- jQuery UI 工具提示位置的奇怪行为
- jQuery:使用插件Tipsy将工具提示附加到鼠标光标位置
- 有没有办法强制工具提示显示在输入元素的特定位置
- 如何在使用 Dojo 的 dijit 下拉按钮时更改工具提示的位置
- 如何动态更改基于目标元素的绝对工具提示的位置
- 更改提示工具提示的重力/位置
- Intro.js更改工具提示位置
- D3(具有引导程序网格布局)-工具提示位置关闭
- 在图形上的最后一个值上设置工具提示位置
- JQueryMobile中的弹出/工具提示位置
- nvd3工具提示位置基于鼠标指针使用JavaScript
- 更改工具提示位置/箭头
- .js步骤和工具提示位置工作正常,除了"back"被按下
- 更改窗口大小的工具提示位置
- JQuery UI工具提示位置
- 指定工具提示位置
- 使用AngularJS UI使工具提示位置相对于窗口大小
- nvd3 multiBarHorizontalChart中的工具提示位置