Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/78.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 使用qtip时如何避免页面滚动?_Jquery_Qtip - Fatal编程技术网

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

Jquery 使用qtip时如何避免页面滚动?,jquery,qtip,Jquery,Qtip,我是qTip的忠实粉丝,但我想知道是否有一种方法可以在不让页面滚动到顶部的情况下使用模式窗口 我环顾四周,但还没有发现任何东西。这可能吗?是的,这是可能的!您需要设置调整字段 adjust : { screen : true } 在其中指定工具提示的位置 position : { my : 'right center', at : 'left center', adjust : { screen : true } } 我不确定这是否是q

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


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

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

adjust : {
    screen : true
}
在其中指定工具提示的位置

position : {
    my : 'right center',
    at : 'left center',
    adjust : {
        screen : true
    }
}
我不确定这是否是qTip1的一个特性,但我在qtip2中使用了它。工具提示是
自动调整以避免溢出和滚动

您应将提示的目标设置为qTip中的窗口:

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

 .ui-tooltip {
      position: fixed;
 }
position: {
      viewport: $(window),
      adjust: {
           method: 'shift'
      }
}


position: {
      viewport: $(window),
      adjust: {
           // Only adjust tip position on the horizontal axis
           method: 'shift none'
      }
}
或者,如果您有自己的类名:

 .ui-tooltip-myClassName {
      position: fixed;
 }
关于提供的另一个答案,请注意,qTip2具有不同的视口调整格式(不再是qTip1中的position.adjust.screen),并特别允许您定义应使用哪个包含元素进行调整:

position: {
      viewport: $(window)
}
或者,对于包含元素而不是窗口/屏幕:

position: {
      viewport: $('#myElement')
}
现在,您还可以定义如何使用“方法”参数进行调整,并可以通过为另一个轴指定“无”,将其约束为仅在一个轴上进行调整。默认/传统方法是“翻转”,但您也可以指定“移位”,只移动足够适合视口的尖端。格式为:

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

谢谢你的提问,我实际上选择了Facebox(另一个jQuery模式窗口插件)。它简单得多,但对我来说很管用。谢谢你的回复!好的,但是我的答案解决了问题,所以你应该接受它。对StackOverflow社区来说,将答案标记为已回答是很重要的,这有助于人们寻找正确答案,也有助于回答者获得尊重。效果很好。此外,当您向下滚动并打开模式对话框时,它也会相对于您的滚动位置渲染到中间。-Thanks@StenVandenBergh我的答案实际上回答了这个问题,因此您可以接受它来支持其他用户及其问题谢谢。这帮了大忙。
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'
      }
}