使用qtip时如何避免页面滚动?

发布于 2024-11-04 05:11:10 字数 85 浏览 2 评论 0原文

我是 qTip 的忠实粉丝,但我想知道是否有一种方法可以在不让页面滚动到顶部的情况下使用模式窗口。

环顾四周但还没有发现任何东西。这可能吗?

I'm a big fan of qTip, but I was wondering if there was a way to use the modal window without having your page scroll to the top.

Have looked around but haven't found anything yet. Is this possible?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

寒冷纷飞旳雪 2024-11-11 05:11:10

是的,这是可能的!您需要设置调整字段

adjust : {
    screen : true
}

,在其中指定工具提示的位置

position : {
    my : 'right center',
    at : 'left center',
    adjust : {
        screen : true
    }
}

我不确定这是否是 qTip1 的功能,但我在 qtip2 中使用过。工具提示是
自动调整以避免溢出和滚动

Yes it is possible! You need to set the adjust field

adjust : {
    screen : true
}

where you specify the position of the tooltip

position : {
    my : 'right center',
    at : 'left center',
    adjust : {
        screen : true
    }
}

I am not sure if that is a feature of qTip1 but I used in in qtip2. The tooltip is
adjusted automatically to avoid overflow and scrolling

久随 2024-11-11 05:11:10

您应该将提示的目标设置为窗口,如 qTip 对话框演示:

 position: {
      my: 'center',
      at: 'center',
      target: $(window)
 }

您还可以选择通过 CSS 对提示应用固定定位,以防止模式对话框完全滚动。 qTip 自动适应所有具有固定定位的浏览器问题(咳 IE 咳)。例如:

 .ui-tooltip {
      position: fixed;
 }

或者,如果您有自己的类名:

 .ui-tooltip-myClassName {
      position: fixed;
 }

关于提供的其他答案,请注意 qTip2 对于视口调整有不同的格式(它不再是 qTip1 中的position.adjust.screen)并且特别允许您定义应使用哪些包含元素进行调整:

position: {
      viewport: $(window)
}

或者,对于包含元素而不是窗口/屏幕:

position: {
      viewport: $('#myElement')
}

您现在还可以使用“method”参数定义如何进行调整,并可以将其限制为仅在单个元素上进行调整轴通过指定对方“无”。默认/旧方法是“flip”,但您也可以指定“shift”,它仅将笔尖移动到足以适合视口的位置。格式为:

position: {
      viewport: $(window),
      adjust: {
           method: '<method>'
      }
}

或者,

position: {
      viewport: $(window),
      adjust: {
           method: '<horizontalMethod> <verticalMethod>'
      }
}

例如:

position: {
      viewport: $(window),
      adjust: {
           method: 'shift'
      }
}


position: {
      viewport: $(window),
      adjust: {
           // Only adjust tip position on the horizontal axis
           method: 'shift none'
      }
}

You should set the target of the tip to be the window as in the qTip dialog demo:

 position: {
      my: 'center',
      at: 'center',
      target: $(window)
 }

You may also optionally apply fixed positioning to the tip via CSS to prevent scrolling of the modal dialog altogether. qTip automatically accommodates for all browser issues with fixed positioning (cough IE cough). For example:

 .ui-tooltip {
      position: fixed;
 }

Or, if you have your own classnames:

 .ui-tooltip-myClassName {
      position: fixed;
 }

In regards to the other answer provided, note that qTip2 has a different format for viewport adjustment (it is no longer position.adjust.screen as it was in qTip1) and specifically allows you to define what containing element should be used for adjustment:

position: {
      viewport: $(window)
}

Or, for a containing element instead of the window/screen:

position: {
      viewport: $('#myElement')
}

You can also now define how the adjustment is made with the "method" parameter and can constrain it to only adjust on a single axis by specifying 'none' for the other. The default/legacy method is 'flip,' but you can also specify 'shift' which only moves the tip enough to fit in the viewport. The format is:

position: {
      viewport: $(window),
      adjust: {
           method: '<method>'
      }
}

Or,

position: {
      viewport: $(window),
      adjust: {
           method: '<horizontalMethod> <verticalMethod>'
      }
}

For example:

position: {
      viewport: $(window),
      adjust: {
           method: 'shift'
      }
}


position: {
      viewport: $(window),
      adjust: {
           // Only adjust tip position on the horizontal axis
           method: 'shift none'
      }
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文