Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/391.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
Javascript 围绕动态页面定位内容_Javascript_Jquery_Jquery Ui - Fatal编程技术网

Javascript 围绕动态页面定位内容

Javascript 围绕动态页面定位内容,javascript,jquery,jquery-ui,Javascript,Jquery,Jquery Ui,我试图将jQueryUIDatePicker 1.10.3与jQuery2.0.2结合使用。也使用Realjs,Zurb基金会作为表格和网格的基本样式。 这听起来像是一个日期选择器问题,但这只是一个用例,我必须定位具有相同问题的其他随机元素 我只是想在IE 9、10和最新的几个chrome版本中实现这一点 我把日期选取器包在一个击倒装订中 ko.bindingHandlers.datepicker = { init: function (element, valueA

我试图将jQueryUIDatePicker 1.10.3与jQuery2.0.2结合使用。也使用Realjs,Zurb基金会作为表格和网格的基本样式。 这听起来像是一个日期选择器问题,但这只是一个用例,我必须定位具有相同问题的其他随机元素

我只是想在IE 9、10和最新的几个chrome版本中实现这一点

我把日期选取器包在一个击倒装订中

  ko.bindingHandlers.datepicker = {
            init: function (element, valueAccessor, allBindingsAccessor) {
                //initialize datepicker with some optional options
                var options = allBindingsAccessor().datepickerOptions || {};

                $(element).datepicker(options);
                ....
我有两大页。第一页是非常大的形式,几百个输入,一切都很好

第二页是问题的开始

它有许多大型窗体,它们位于彼此前面移动的窗格上。这个动态页面打破了jqueryui的定位

我试图通过调整beforshow上的边距来手动定位日期选择器,它适用于IE中的muilti窗格页面,但不适用于chrome。它打破了简单的页面

我无法修改jqueryui中的_checkOffset函数。我想根据选择器在页面中的位置,保持选择器在上方或下方的方式

在chrome和IE中找到合适位置的正确方法是什么?

这是我修改过的绑定。在IE的muilti页面上工作,在chrome中断开,简单页面断开

  ko.bindingHandlers.datepicker = {
            init: function (element, valueAccessor, allBindingsAccessor) {
                //initialize datepicker with some optional options
                var options = allBindingsAccessor().datepickerOptions || {};
                debugger;
                options.beforeShow = function (textbox, instance) {
                    //debugger;
                    instance.dpDiv.css({
                        //marginTop: (-textbox.offsetHeight) + 'px',
                        //marginLeft: textbox.offsetWidth + 'px',
                        marginTop: ($(document).scrollTop() || document.body.scrollTop) + 'px'

                    });
                };

                $(element).datepicker(options);
                ....
muilti页面ccs的定位如下所示。使用带前缀的Modernizer

.perspective {
  position: relative;
  width: 100%;
  height: 100%;
  -webkit-perspective: 1200px;
  -moz-perspective: 1200px;
  perspective: 1200px; }

.pane {
  width: 100%;
  height: 100%;
  position: absolute;
  margin-top: 0px;
  opacity: 0;
  top: 0;
  left: 0;
  visibility: hidden;
  -webkit-backface-visibility: hidden;
  -moz-backface-visibility: hidden;
  backface-visibility: hidden;
  -webkit-transform: translate3d(0, 0, 0);
  -moz-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
  -webkit-transform-style: preserve-3d;
  -moz-transform-style: preserve-3d;
  transform-style: preserve-3d; }

.current {
  opacity: 1;
  visibility: visible;
  z-index: 1; }
所以标记是这样的

<div id="panel_container" class="perspective">

    <div id="Pane3Container" class="pane">
        @Html.Partial("_Form3")
    </div>

    <div id="Pane2Container" class="pane current">
        @Html.Partial("_Form2")
    </div>

    <div id="Pane1Container" class="pane">
        @Html.Partial("_Form1")
    </div>

</div>

@Html.Partial(“_Form3”)
@Html.Partial(“_Form2”)
@Html.Partial(“_Form1”)

谢谢

尝试使用iQueryV1.9,它与iejquery用户界面更兼容1.9.2\u checkOffset函数与1.10.3相同让我切换出jquery 2.0,看看。这仍然不太好=(