javascript - 我的 jQuery 在 Chrome 中工作,但在 IE 11 中不工作

标签 javascript jquery html css google-chrome

下面是我的 HTML、CSS 和 jQuery。当您将鼠标悬停在方 block 上时,它应该以随机颜色突出显示方框内的方 block 。它在 Chrome 中没有问题,但在 IE 11 中不起作用。我对编码很陌生,几周前才开始使用 HTML、CSS 和 Javascript。谢谢,

//Document Startup
$(document).ready(function(){
  var divs = '#container div'
  var cSize = 960
  var cSizepx = cSize+'px'
  var divNum = 16
  var divSize = cSize/divNum
  var divSizepx = divSize+'px'
  var squares = divNum*divNum
  $('#container').css({'height':cSizepx,'width':cSizepx,'border':"1px solid black"})

  for (var x = 1; x <=squares; x++){
    $('#container').append('<div></div>')
  }
  $(divs).css({'height':divSizepx,'width':divSizepx})


  $(divs).hover(function(){
    var r = Math.floor((Math.random())*256)
    var g = Math.floor((Math.random())*256)
    var b = Math.floor((Math.random())*256)
    var color = 'rgb('+r+','+g+','+b+')'
    if ($(this).css("background-color") === 'rgba(0, 0, 0, 0)'){
      $(this).css("background-color", color);
    }
  })


  //Document after button press
  $(document).on('click','button',function(){
    $(divs).remove();
    var divNum = prompt("How many squares across would you like?")
    var divSize = cSize/divNum
    var divSizepx = divSize+'px'
    var squares = divNum*divNum
    for (var x = 1; x <=squares; x++){
      $('#container').append('<div></div>')
    }
    $(divs).css({'height':divSizepx,'width':divSizepx, 'display':'inline-block'})

    $(divs).hover(function(){
      var r = Math.floor((Math.random())*256)
      var g = Math.floor((Math.random())*256)
      var b = Math.floor((Math.random())*256)
      var color = 'rgb('+r+','+g+','+b+')'
      var count = parseInt($(this).data('count'), 10) + 1;
      ;

      if ($(this).css("background-color") === 'rgba(0, 0, 0, 0)'){
        $(this).css("background-color", color);
      }
    })

  })

});
#container div{
  float:right;
}

#container{	position:absolute;
  top:0px;
  display:inline-block;
}

#instructions{
  display:inline-block;
  position:absolute;
  top:80px;
  left:980px;
  font-family:cursive;
  width:205px;
  text-align:center;
}

button{
  position:absolute;
  left:980px;
  display:inline-block;
  top:10px;
  font-family:serif;
  font-size:3em;
  width:205px;
  background-color:#0186ea;
  color:white;
  border-radius:10px;
  border-width:0px;
  display:inline-block;
}
button:hover{
  background-color:#0192ea;
  border-radius:10px;
  border-width:0px;
}
button:active{
  background-color:#0186ea;
  border-radius:10px;
  border-width:0px;
}
button:visited{
  background-color:#0186ea;
  border-radius:10px;
  border-width:0px;
}
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
<button>Reset</button>
<div id='instructions'>The button above will clear your space and set a new number of squares per line.</div>
<div id="container"></div>

最佳答案

IE 将背景颜色属性报告为“透明”而不是“rgba(0, 0, 0, 0)”。在检查背景颜色是否为默认颜色时,尝试在您的 if 语句中使用以下子句:

if ($(this).css("background-color") === 'rgba(0, 0, 0, 0)' || $(this).css('background-color') === 'transparent'){
  $(this).css("background-color", color);
}

fiddle 证明:http://jsfiddle.net/b64jLfqh/

关于javascript - 我的 jQuery 在 Chrome 中工作,但在 IE 11 中不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31081990/

相关文章:

javascript - 在jquery ajax调用、成功/错误回调或done()/fail()链函数的情况下应该使用哪一个

javascript - 通过Firebug分析DOM事件:hover

javascript - 洗牌算法公平吗? (JavaScript)

javascript - 添加一个全局事件监听器,它始终使用 Jquery/JS 监听服务器调用

javascript - TouchEnd 结束后开始事件

javascript - jquery 中带参数的函数调用

python - 使用 Lxml 解析 HTML

javascript - 当你的模板有空格/文本节点时,WebKit 会导致 DOM 插入变慢吗?

HTML/CSS "shadow"边框?

javascript - 我的网站的 Java 表单验证