javascript - anchor 覆盖并且没有正确改变颜色,因为不能完全点击

标签 javascript jquery html css

我试图在点击时更改每张图片的颜色,但它们无法正确选择,因为定位和 z-index 相互重叠...... 代码正在工作,因为您可以通过单击右上角来检查它是否会改变颜色...尝试了不同的 CSS 方法,而不是 JavaScript ...JavaScript 的新手。

   body,div,p,h1,h2,h3,h4,h5,h6,span {
     margin: 0;
}
 div.nav {
     height: 100px;
     width: 100%;
     padding: 20px 0;
     background-color: #615d5d;
     text-align: center;
}
 .screens_wrap {
     display: inline-block;
     margin: 0 auto;
     height: 100%;
     position: relative;
}
 .screen_inner {
     position: relative;
     height: 100%;
     margin: 0 auto;
     width: 150px;
}
 .screen {
     position: absolute;
     width:100px;
     height: 58px;
     border: 3px solid #aeaeae;
}
/* transparent style -------------------------------------------------------------------*/
 .nav .screen.screen1 {
     bottom: 0;
     left: 0;
     z-index: 3;
     background-color: #00ad63;
}
 .nav a .screen.screen2 {
     bottom: 15px;
     left: 15px;
     z-index: 2;
     background-color: transparent;
}
 .nav a .screen.screen2:hover{
     background-color: #4f025a;
}
 .nav .screen.screen3 {
     bottom: 30px;
     left: 30px;
     z-index: 1;
     background-color: transparent;
}
 .nav .screen.screen3:hover{
     background-color: #ffec36;
}
 .nav .screen2:hover, .screen3:hover {
     -webkit-animation-name: hover;
     -webkit-animation-duration: 1s;
     animation-name: hover;
     animation-duration: 4s;
     -webkit-animation-fill-mode: forwards;
     opacity: 1;
     width: 100px;
}
.nav.nav6 {
     height: 200px;
}
 .screen_inner a.screenanchors:first-child img {
     position: absolute;
     left: 0;
     top: 0;
     z-index: 1;
}
 .screen_inner a.screenanchors:nth-child(2) img{
     position: absolute;
     left: 20px;
     top: 20px;
     z-index: 2;
}
 .screen_inner a.screenanchors:nth-child(3) img{
     position: absolute;
     left: 40px;
     top: 40px;
     z-index: 3;
}
 .screenanchors img {
     overflow: hidden;
}
 @keyframes spinning {
     from {
         transform: translateZ(-5em) rotateY(0deg);
    }
     to {
         transform: translateZ(-5em) rotateY(180deg);
    }
}
 @keyframes skewing {
     from {
         transform: translateZ(-5em) skew(-3deg, -25deg);
    }
     to {
         transform: translateZ(-5em) skew(-3deg, 0deg);
         width: 100%;
         height: 100px;
         z-index: 9999999;
         bottom: 0;
    }
}
/* Standard syntax */
 @keyframes hover {
     0% {
        margin-bottom:+10px;
         bottom: unset;
    }
     100% {
        margin-bottom:+10px;
         bottom: unset;
    }
}
<div class="nav nav6" style="margin-top: 25px;">
        <div class="screens_wrap">
            <div class="screen_inner">
                <a href="javascript:void(0)" class="screenanchors"><img id="imgName" src="https://imageshack.com/i/plylrZh4p" onclick="changeSrc()" width="100px"></a>
                <a href="javascript:void(0)" class="screenanchors"><img id="imgName1" src="https://imageshack.com/i/pljaZE0Gp" onclick="changeSrc1()" width="100px"></a>
                <a href="javascript:void(0)" class="screenanchors"><img id="imgName2" src="https://imageshack.com/i/plm9slyTp" onclick="changeSrc2()" width="100px"></a>
            </div>
        </div>
    </div>
    
    
      <script>
    function changeSrc(){
            document.getElementById("imgName").src="https://imageshack.com/i/plm9slyTp";
            document.getElementById("imgName1").src="https://imageshack.com/i/plylrZh4p";
            document.getElementById("imgName2").src="https://imageshack.com/i/pljaZE0Gp";
        }
        function changeSrc1(){
            document.getElementById("imgName").src="https://imageshack.com/i/pljaZE0Gp";
            document.getElementById("imgName1").src="https://imageshack.com/i/plm9slyTp";
            document.getElementById("imgName2").src="https://imageshack.com/i/plylrZh4p";
        }
        function changeSrc2(){
            document.getElementById("imgName").src="https://imageshack.com/i/plylrZh4p";
            document.getElementById("imgName1").src="https://imageshack.com/i/pljaZE0Gp";
            document.getElementById("imgName2").src="https://imageshack.com/i/plm9slyTp";
        }
        </script>

它应该通过单击单个图像上的每个位置来工作,不会影响可单击空间的覆盖...

最佳答案

为了帮助其他人,我使用区域映射解决了这个问题...

关于javascript - anchor 覆盖并且没有正确改变颜色,因为不能完全点击,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55928120/

相关文章:

javascript - 如何覆盖站点的 jQuery 函数?

html - 水平弹出菜单 - 隐藏选项

html - 在输入中插入 Logo

javascript - 使用替代 id 和名称以 PHP 形式生成附加行

jquery - 更简洁的jquery

javascript - 在动态内容的动态元素上使用相同的工具提示工具提示

javascript - 如何在 jquery 中重置 beforeunload

javascript - 弹出菜单的 slideToggle

javascript - 无法将 vis 与 require.js 一起使用

javascript - 在 div 中使用箭头键