javascript - 按钮在改变位置时不起作用

标签 javascript html css position

突然间,我的按钮停止工作了。我试图将其缩小到导致问题的原因,每当我在 css -

中添加以下代码时就会发生这种情况
#filler{
    position:relative;
    left:340px;
    top:85px
}

它一直在工作,但突然无法使用,但只有在我尝试定位它时才会出现。 这是我所有的代码供引用:

function myFunction() {
  $('#Asterisk').empty();
  for (var i = 0; i < 7; i++) {

    for (var a = i; a < 7; a++) {

      $('#Asterisk').append("*");
    }

    $('#Asterisk').append("<br>");


  }


}
#Obelix {
  border: 8px solid black;
  width: 400px;
  height: 200px;
  position: relative;
  left: 250px;
  top: 100px
}

#Getafix {
  width: 400px;
  height: 200px;
  position: relative;
  left: 75px;
  bottom: 126px
}

#Asterisk {
  position: relative;
  right: 325px;
  top: 10px;
  transform: rotate(180deg)
}

#mainwrapper {
  height: 4000px;
  width: 4000px;
  position: relative
}

#filler {
  position: relative;
  left: 340px;
  top: 85px
}

#filler {
  padding: 15px 25px;
  font-size: 24px;
  text-align: center;
  cursor: pointer;
  outline: none;
  color: #fff;
  background-color: #4CAF50;
  border: none;
  border-radius: 15px;
  box-shadow: 0 9px #999;
}

#filler:hover {
  background-color: #3e8e41
}

#filler:active {
  background-color: #3e8e41;
  box-shadow: 0 5px #666;
  transform: translateY(4px);
}
<!DOCTYPE html>

<html>

<head>

  <link rel="stylesheet" type="text/css" href="css/looping.css">


  <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js">
  </script>
  <script src="looping.js">
  </script>
</head>
<div id="mainwrapper">

  <body>
    <button id="filler" onclick="myFunction()"> Fill in the box </button>
    <div id="imgbox"> </div>
    <div id="Obelix">
      <div id="Asterisk"> </div>
      <div id="Getafix"> </div>
    </div>
</div>

</html>

最佳答案

问题是,一旦您定位按钮,您的#Getafix div 就会位于按钮上方。您可以使用 z-index 来更改此顺序。例如。

button {
  z-index: 1;
}

编辑:我为#Getafix 添加了一种几乎透明的浅色背景颜色,因此您可以看到它的位置。如果使用 z-index 不适合您(因为您需要它在按钮上方可见),您可以在 #Getafix div 上使用 pointer-events: none;。这会导致所有点击事件被#Getafix 忽略,而是传递给底层按钮。不幸的是,浏览器对指针事件的支持很一般(不支持 ie10 或以下版本):http://caniuse.com/#feat=pointer-events

function myFunction(){
		$('#Asterisk').empty();
		for(var i =0;i<7;i++) { 
			
	    for(var a=i;a<7;a++) { 

		$('#Asterisk').append("*");
				
			}
			
			
		$('#Asterisk').append("<br>");
		
			
		}
		
	
	    }
#Obelix{
    border:8px solid black;
    width:400px;
    height:200px;
    position:relative;
    left:250px;
    top:100px}

    #Getafix{
	width:400px;
    height:200px;
    position:relative;
    left:75px;
    bottom:126px;
    background-color: rgba(0,0,0,.1); /* making the #Getafix div position visible */
    }
	

    #Asterisk{
    position:relative;
    right:325px;
    top:10px;
    transform:rotate(180deg)
    }

    #mainwrapper{
	height:4000px;
    width:4000px;
    position:relative}
   
    #filler{
    position:relative;
    z-index: 1;
    left:340px;
    top:85px
    }
   
    #filler {
    padding: 15px 25px;
    font-size: 24px;
    text-align: center;
    cursor: pointer;
    outline: none;
    color: #fff;
    background-color: #4CAF50;
    border: none;
    border-radius: 15px;
    box-shadow: 0 9px #999;
    }


    #filler:hover {background-color: #3e8e41}

    #filler:active {
    background-color: #3e8e41;
    box-shadow: 0 5px #666;
    transform: translateY(4px);
    }
<!DOCTYPE html>

      <html>
   
      <head>

    <link rel="stylesheet"
    type="text/css"
	href="css/looping.css">
	
    
     <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js">                       
     </script> 
     <script src="looping.js"> </script>
     </head>
     <div id="mainwrapper"> 
     <body>
     <button  id="filler" onclick="myFunction()"> Fill in the box </button>
     <div id="imgbox"> </div>
     <div id="Obelix"> 
     <div id="Asterisk"> </div>  
     <div id="Getafix">  </div>
     </div>
     </div>
     </html>

关于javascript - 按钮在改变位置时不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45453765/

相关文章:

javascript - 在离开页面之前进行 GET 调用 - Javascript

javascript - 将事件向下传递给 Angular 2 应用程序中不是另一个组件的父组件或子组件

javascript - NestJS - 如何提供动态模块的服务

javascript - 用于电子邮件 && 复选框验证的 jQuery/JavaScript 测试

javascript - 宽度上的过渡不平滑

css - 为什么 Chrome 比 Firefox 或 IE 包装内联列表项更多?

css - 如何在提交按钮上应用类,使其显示所需的提交图像

javascript - jQuery 水平对齐的 div 不居中

javascript - 使表格的第一列固定在水平滚动条上

css - 导航栏和超大屏幕之间的 Bootstrap 空白间隙。边距 css 不能解决问题