Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/36.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 转换+;IE 11中的定位问题_Jquery_Css_Twitter Bootstrap_Internet Explorer - Fatal编程技术网

Jquery 转换+;IE 11中的定位问题

Jquery 转换+;IE 11中的定位问题,jquery,css,twitter-bootstrap,internet-explorer,Jquery,Css,Twitter Bootstrap,Internet Explorer,我在一个模式中有一个position:fixed div,bootstrap应用了transform:translate规则。它在FF和Chrome中运行良好,但在IE11中无法正确显示 在这里您可以看到问题: 这是CSS: @import url( 'https://maxcdn.bootstrapcdn.com/bootstrap/3.3.2/css/bootstrap.min.css' ); .modal-open .modal { //overflow: hidden;

我在一个模式中有一个position:fixed div,bootstrap应用了transform:translate规则。它在FF和Chrome中运行良好,但在IE11中无法正确显示

在这里您可以看到问题:

这是CSS:

    @import url( 'https://maxcdn.bootstrapcdn.com/bootstrap/3.3.2/css/bootstrap.min.css' );
.modal-open .modal {
   //overflow: hidden;
 }
 .modal-body {
   height: calc(100vh);
   overflow-y: scroll;
 }

 #getFixed {
   position: relative;
   left: 10px;
   width: 500px;
 }
jquery应用于scroll

jQuery(function($) {
  function fixDiv() {
    var $cache = $('#getFixed');
    if ($('.modal-body').scrollTop() > 50)
    {
    $cache.css({
        'position': 'fixed',
        'top': '0px',
        'left': '25px',
        'width': '500px'
      });
    }
    else
      $cache.css({
        'position': 'relative',
        'top': 'auto',
        'left': '10px'
      });
  }
  $('.modal-body').scroll(fixDiv);
  fixDiv();
});

编辑:这似乎是。我的问题是如何解决这个问题?

好的,我找到了一个很好的解决方案

  • 检测使用的浏览器是否为IE
  • 用模式视图顶部的
    offset()替换csstop
  • css左侧替换为
    offset()。
    getFixed
    id元素的左侧
这在所有IE浏览器和其他浏览器上都可以正常工作。请试一试

我也做了一把小提琴:

$('.launchConfirm')。在('click',函数(e)上{
$('#确认')。模态({
秀:真的
});
});
//用于检查是否检测到IE的变量
var IfIE=假;
//检查是否使用了IE
var ua=window.navigator.userAgent;
变量msie=ua.indexOf(“msie”);
如果(msie>0 | |!!navigator.userAgent.match(/Trident.*rv \:11\。/)
{
IFE=真;
}
其他的
{
IfIE=假;
}
jQuery(函数($){
函数fixDiv(){
var$cache=$('#getFixed');
如果($('.modal body').scrollTop()>50)
{
如果(IfIE==真){
$cache.css({
'位置':'固定',
“top”:$(“.modal content”).offset().top,
“left”:$(“#getFixed”).offset().left,
“宽度”:“500px”
});
}否则{
$cache.css({
'位置':'固定',
“顶部”:“0”,
‘左’:‘25px’,
“宽度”:“500px”
});
}
}
其他的
$cache.css({
'位置':'相对',
“顶部”:“自动”,
“左”:“10px”
});
}
$('.modal body')。滚动(fixDiv);
fixDiv();
});
@导入url('https://maxcdn.bootstrapcdn.com/bootstrap/3.3.2/css/bootstrap.min.css' );
.modal打开.modal{
//溢出:隐藏;
}
.模态体{
高度:计算(100vh);
溢出y:滚动;
}
#修复{
位置:相对位置;
左:10px;
宽度:500px;
}


开放模态 &时代; 情态标题 此div应在模式中固定,而不是在模式之外。 一个好身体&hellip

一个好身体&hellip

一个好身体&hellip

一个好身体&hellip

一个好身体&hellip

一个好身体&hellip

一个好身体&hellip

一个好身体&hellip

一个好身体&hellip

一个好身体&hellip

一个好身体&hellip

一个好身体&hellip

一个好身体&hellip

一个好身体&hellip

一个好身体&hellip

一个好身体&hellip

一个好身体&hellip

一个好身体&hellip

一个好身体&hellip

一个好身体&hellip

一个好身体&hellip

一个好身体&hellip

一个好身体&hellip

一个好身体&hellip

一个好身体&hellip

一个好身体&hellip

一个好身体&hellip

一个好身体&hellip

一个好身体&hellip

一个好身体&hellip

一个好身体&hellip

一个好身体&hellip

一个好身体&hellip

一个好身体&hellip

一个好身体&hellip

一个好身体&hellip

一个好身体&hellip

一个好身体&hellip

一个好身体&hellip

一个好身体&hellip

一个好身体&hellip

一个好身体&hellip

一个好身体&hellip

一个好身体&hellip

一个好身体&hellip

一些随机按钮