你好,我有一个名为"bar"的div,其中包含一个矩形的SVG文件.这个矩形的宽度约为160px,高度约为60px,笔划为4px,圆角.当用户双击绿色正方形时,我希望矩形在Y轴上向下扩展,大约向下扩展100px,以显示名为"Circle"的div.当用户再次双击时,我希望矩形向上滚动到原始大小,隐藏圆形div.我曾try 在css中使用Transform:scaleY(),但它包装了我的矩形,并且我不知道如何将css连接到onClick js函数.有谁能帮忙吗?

const divItem = document.getElementById('divItem');
divItem.addEventListener('click',(e)=>{
  //when the user clicks the square I want the bar to expand  downward to reveal the circle div//
})
#divItem{
  width: 150px;
  height: 150px;
  background-color: green;
  cursor: pointer;
  position: relative;
  left: 55px;
}

/*.bar{
  transform: scaleY(3);
}*/
.circle{
  width: 50px;
  height: 50px;
  clip-path: circle();
  background-color: blue;
  position: absolute;
  left: 55px; 
  visibility: hidden;
}
<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Double Click Drop down</title>
 
    <link rel="stylesheet" href="./style.css" />
  </head>
  <body>
    <div id="divItem"></div>
<div class="bar">
   <img src="SVG/bar.svg"> 
</div>
<div class="circle"></div>

    <script src="./script.js"></script>
  </body>
</html>

推荐答案

在Java脚本中操作页面样式的常用方法是在元素中添加或删除类.每个元素都公开了它的classList property个类的列表,如果它不存在,可以使用该列表的toggle() method将它添加到列表中,如果它存在,则从列表中删除它.

document.getElementById('divItem').addEventListener('click', evt => {
  document.querySelector('.bar').classList.toggle('expanded');
})

然后,在css中,仅当bar元素为expanded时才将比例应用于该元素.

.bar.expanded {
  transform: scaleY(3);
}

Javascript相关问答推荐

使用事件监听器在JavaScript中重新分配全局变量

为什么这个自定义组件会被放置在TR之外?

如何从defineExpose访问数据和方法

带对角线分隔符的图像滑动器

如何在JavaScript中通过一次单击即可举办多个活动

创建1:1比例元素,以另一个元素为中心

积分计算和 colored颜色 判断错误

foreach循环中的Typescript字符串索引

禁用从vue.js 2中的循环创建的表的最后td的按钮

如何访问Json返回的ASP.NET Core 6中的导航图像属性

警告!合同执行期间遇到错误[执行已恢复](Base Layer 2)

如何将连续的十六进制字符串拆分为以空间分隔的十六进制块,每个十六进制块包含32个二元组?

如何从html元素创建树 struct ?

使用带有HostBinding的Angular 信号来更新样式?

Jest toHaveBeenNthCalledWith返回当前设置的变量值,而不是调用时的值

Phaserjs-创建带有层纹理的精灵层以自定义外观

如何根据查询结果重新排列日期

React Refs不与高阶组件(HOC)中的动态生成组件一起工作

是否设置以JavaScript为背景的画布元素?

如何使用puppeteer操作所有选项