Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/magento/5.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 glDatePicker插件未在IE上正确呈现_Jquery_Html_Internet Explorer - Fatal编程技术网

jQuery glDatePicker插件未在IE上正确呈现

jQuery glDatePicker插件未在IE上正确呈现,jquery,html,internet-explorer,Jquery,Html,Internet Explorer,我在用电话 页面加载时,日历隐藏(沿右侧框)切换视图被单击,日历被重新呈现和显示Chrome、FF、Safari,一切正常即,没有那么多。看起来,在渲染日历时,width没有按应有的方式应用 <article id="events" class="clearfix hidden-xs"> <header class="clearfix header-title"> <h2 class="row col-sm-8">Upcoming Ev

我在用电话

页面加载时,日历隐藏(沿右侧框)<代码>切换视图被单击,日历被重新呈现和显示<代码>Chrome、FF、Safari,一切正常<代码>即,没有那么多。看起来,在渲染日历时,
width
没有按应有的方式应用

<article id="events" class="clearfix hidden-xs">
    <header class="clearfix header-title">
        <h2 class="row col-sm-8">Upcoming Events</h2>
        <a href="/resource-center/calendar-of-events" class="arrow-link gray-medium col-sm-4">All Events <span class="glyphicon glyphicon-arrow-right"></span></a>
    </header>
    <div class="row">
        <section class="col-md-6 col-sm-6">
            <div id="calendar"></div>
        </section>
        <aside id="event-description" class="col-md-6  col-sm-6 gray-light">
            <img src="/content/images/events-backsplash.jpg" class="img-responsive" />
            <div id="event-data">
                ....HTML here - not relevant
            </div>
        </aside>
    </div>
</article>

$('#switch-view').click(function (e) {
    var $this = $(this);
    if ($this.hasClass('list-view')) {
        $('#event-description').hide();

        var $cal = $('#calendar').glDatePicker(true);
        $.extend($cal.options, {
            showAlways: false
        });

        $cal.render();
        $cal.hide();

        $('#calendar-list').fadeIn();
        $this.removeClass('list-view').find('span').text('Calendar View');
    }
    else {
        $this.addClass('list-view').find('span').text('List View');
        $('#calendar-list').hide();
        $('#event-description').fadeIn(function () {
            var $cal = $('#calendar').glDatePicker(true);
            $.extend($cal.options, {
                showAlways: true
            });

            $cal.render();
            $cal.show();
        });
    }

    e.preventDefault();
});
Chrome

IE

如果我将
IE
上的宽度更改为
382px
,它将按原样显示

<article id="events" class="clearfix hidden-xs">
    <header class="clearfix header-title">
        <h2 class="row col-sm-8">Upcoming Events</h2>
        <a href="/resource-center/calendar-of-events" class="arrow-link gray-medium col-sm-4">All Events <span class="glyphicon glyphicon-arrow-right"></span></a>
    </header>
    <div class="row">
        <section class="col-md-6 col-sm-6">
            <div id="calendar"></div>
        </section>
        <aside id="event-description" class="col-md-6  col-sm-6 gray-light">
            <img src="/content/images/events-backsplash.jpg" class="img-responsive" />
            <div id="event-data">
                ....HTML here - not relevant
            </div>
        </aside>
    </div>
</article>

$('#switch-view').click(function (e) {
    var $this = $(this);
    if ($this.hasClass('list-view')) {
        $('#event-description').hide();

        var $cal = $('#calendar').glDatePicker(true);
        $.extend($cal.options, {
            showAlways: false
        });

        $cal.render();
        $cal.hide();

        $('#calendar-list').fadeIn();
        $this.removeClass('list-view').find('span').text('Calendar View');
    }
    else {
        $this.addClass('list-view').find('span').text('List View');
        $('#calendar-list').hide();
        $('#event-description').fadeIn(function () {
            var $cal = $('#calendar').glDatePicker(true);
            $.extend($cal.options, {
                showAlways: true
            });

            $cal.render();
            $cal.show();
        });
    }

    e.preventDefault();
});

…此处为HTML-不相关
$(“#切换视图”)。单击(函数(e){
var$this=$(this);
if($this.hasClass('list-view')){
$(“#事件描述”).hide();
var$cal=$(“#日历”).glDatePicker(true);
$.extend($cal.options){
showAlways:错误
});
$cal.render();
$cal.hide();
$(“#日历列表”).fadeIn();
$this.removeClass('list-view').find('span').text('Calendar view');
}
否则{
$this.addClass('list-view').find('span').text('list-view');
$(“#日历列表”).hide();
$(“#事件描述”).fadeIn(函数(){
var$cal=$(“#日历”).glDatePicker(true);
$.extend($cal.options){
showAlways:真的
});
$cal.render();
$cal.show();
});
}
e、 预防默认值();
});
我发现我必须
扩展
选项,并更改
showAlways
属性,以便在
IE
上正确隐藏/显示。如果我删除了它们,那么在调用
$cal.hide()
函数时,日历永远不会隐藏

你可能会认为我可以隐藏日历或者它的容器,但是这个插件的操作方式是它在结束标记之前创建了一个全新的
,并执行它的“位置魔法”


可能不是关于它为什么这样做的问题的答案,但不知何故
IE 11
只是没有在
页面加载上正确地收集
外径()和
偏移()方法

我最后做的是确定浏览器是否确实是
IE 11
,然后在初始设置日历之前设置
1000ms
timeout

如果有人有更好的答案,我很想听


接近

你试过了吗:?…这不是jquery ui datepickermy的错,我现在尝试创建fiddle并解决它不能在库的fiddle cos中重复它,你能发送示例吗?现在不做小提琴就很难解决