【问题标题】:Replace :hover with onclick将 :hover 替换为 onclick
【发布时间】:2019-03-06 00:57:20
【问题描述】:

我有一个手风琴滑块,它使用纯 CSS 扩展鼠标悬停的图像:hover;但是,我想在鼠标左键单击(或在触摸屏上触摸)图像时添加相同的效果,并保持与悬停时相同的“样式”或“状态”(展开)。在此先感谢编码新手!

<script>
		var acc = document.getElementsByClassName("null");
var i;

for (i = 0; i < acc.length; i++) {
  acc[i].addEventListener("click", function() {
    this.classList.toggle("active");
	        
  });
}
	</script>
.accordion ul li div a p {
	position: absolute;
  top: 90%;
  font-size: 18px;
}

.accordion ul li:nth-child(1) { background-image: url("pic1.jpg"); }

.accordion ul li:nth-child(2) { background-image: url("pic2.jpg"); background-size: 223%;}

.accordion ul li:nth-child(2) img {width: 25%;}

.accordion ul:hover li { width: 8%; }

.active, .accordion ul:hover li:hover { width: 60%; }

.active, .accordion ul:hover li:hover a { background: rgba(0, 0, 0, 0.1); }

.active, .accordion ul:hover li:hover a * {
  opacity: 1;
  -webkit-transform: translateX(0);
  transform: translateX(0);
}
<div class="accordion">
  <ul>
    <li>
      <div> <a class="null" href="#">
        <h2>1</h2>
        <p>#</p>
        </a> </div>
    </li>
    <li>
      <div> <a class="null" href="#">
        <h2><img src="images..." alt=""/></h2>
        <p>#</p>
        </a> </div>
    </li>
   </ul>
</div>

【问题讨论】:

  • Java 之于 Javascript 就像 Pain 之于绘画,或者 Ham 之于仓鼠。它们完全不同。强烈建议有抱负的程序员尝试学习他们尝试编写代码的语言的名称。当您发布问题时,请适当地标记它。
  • 只是出于需要编码,抱歉没有正确标记它。我是我,不是 CS。

标签: html css accordion


【解决方案1】:

我没有看到任何名为 null 的类。您是否试图删除课程?如果是这样,您可以切换它。你有一个else 没有if,这是无效的语法。

var acc = document.getElementsByClassName("null");
var i;

for (i = 0; i < acc.length; i++) {
  acc[i].addEventListener("click", function() {
    this.classList.toggle("active");
  });
}

【讨论】:

  • 谢谢!我认为“null”意味着缺少一个类。我通常在 MatLab 中使用“案例”,不确定它是否适用于此。再次感谢!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-06-22
  • 2016-05-02
  • 1970-01-01
  • 2015-02-12
  • 2013-11-28
  • 1970-01-01
相关资源
最近更新 更多