- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个 toggleClass 应用于点击按钮。按钮旋转和淡入淡出并具有持续时间。如果你快速点击按钮,它会导致旋转不同步。通常要处理此问题,您会在 jQuery 中使用 stop
。不过,我试图将样式保留在样式表中。如果您在转换之间单击,是否可以跳转到开头或结尾?
$('.drawer-dropdown-button').on('click', function() {
$(this).toggleClass('drawer-dropdown-button--active');
const height = $('.list').height() > 0 ? 0 : $('.list').prop('scrollHeight');
$('.list').css('height', `${height}px`);
});
body {
padding: 30px;
}
.drawer-dropdown-button {
align-self: center;
align-items: center;
background: none;
border: none;
display: flex;
justify-content: center;
transition: transform 0.4s ease-in-out;
width: 14px;
}
.drawer-dropdown-button:focus {
outline: none;
}
.drawer-dropdown-button:before,
.drawer-dropdown-button:after {
content: "";
display: inline-block;
position: absolute;
background: #0076ff;
}
.drawer-dropdown-button:before {
transition: opacity 0.3s ease-in-out;
opacity: 1;
width: 14px;
height: 2px;
}
.drawer-dropdown-button:after {
height: 14px;
width: 2px;
}
.drawer-dropdown-button.drawer-dropdown-button--active {
transform: rotate(90deg);
}
.drawer-dropdown-button.drawer-dropdown-button--active:before {
opacity: 0;
}
.drawer-dropdown-button:hover:before,
.drawer-dropdown-button:hover:after {
background: #3398ff;
}
.list {
height: 0;
overflow: hidden;
transition: height 300ms ease-in-out;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<button class="drawer-dropdown-button"></button>
<ul class="list">
<li>One</li>
<li>Two</li>
<li>Three</li>
<li>Four</li>
<li>Five</li>
<li>Six</li>
<li>Seven</li>
<li>Eight</li>
</ul>
最佳答案
一个简单的修复方法是 element.css({'pointer-events':'none'})
这样您就可以禁用所有传入的点击。
动画完成后你可以做
setTimeout(function() {
element.css({'pointer-events':''})
}, 300)
$('.drawer-dropdown-button').on('click', function() {
var element = $(this)
element.toggleClass('drawer-dropdown-button--active');
element.css({'pointer-events':'none'})
const height = $('.list').height() > 0 ? 0 : $('.list').prop('scrollHeight');
$('.list').css('height', `${height}px`);
setTimeout(function() {
element.css({'pointer-events':''})
}, 300)
});
body {
padding: 30px;
}
.drawer-dropdown-button {
align-self: center;
align-items: center;
background: none;
border: none;
display: flex;
justify-content: center;
transition: transform 0.4s ease-in-out;
width: 14px;
}
.drawer-dropdown-button:focus {
outline: none;
}
.drawer-dropdown-button:before,
.drawer-dropdown-button:after {
content: "";
display: inline-block;
position: absolute;
background: #0076ff;
}
.drawer-dropdown-button:before {
transition: opacity 0.3s ease-in-out;
opacity: 1;
width: 14px;
height: 2px;
}
.drawer-dropdown-button:after {
height: 14px;
width: 2px;
}
.drawer-dropdown-button.drawer-dropdown-button--active {
transform: rotate(90deg);
}
.drawer-dropdown-button.drawer-dropdown-button--active:before {
opacity: 0;
}
.drawer-dropdown-button:hover:before,
.drawer-dropdown-button:hover:after {
background: #3398ff;
}
.list {
height: 0;
overflow: hidden;
transition: height 300ms ease-in-out;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<button class="drawer-dropdown-button"></button>
<ul class="list">
<li>One</li>
<li>Two</li>
<li>Three</li>
<li>Four</li>
<li>Five</li>
<li>Six</li>
<li>Seven</li>
<li>Eight</li>
</ul>
关于javascript - "Stop"css transition 中点击,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59254019/
我需要你的帮助!我在它们之间放置了随机数量的 div。 Item description Item description Item description Item
我有两个 NSDates,时间格式为“h:mm a”(即 6:00 AM 和 8:00 PM)。 我试图找出这两个时间之间的中点是什么时间。 对于上面的示例,早上 6:00 和晚上 8:00 之间的中
关闭。此题需要details or clarity 。目前不接受答案。 想要改进这个问题吗?通过 editing this post 添加详细信息并澄清问题. 已关闭 8 年前。 Improve th
我正在寻找一种有效的算法来检查一个点是否在 3D 中的另一个点附近。 sqrt((x2-x1)^2 + (y2-y1)^2 + (z2-z1)^2) < radius 这似乎并不太快,实际上我不需要这
我可以让 pandas cut/qcut 函数返回 bin 端点或 bin 中点而不是一串 bin 标签吗? 目前 pd.cut(pd.Series(np.arange(11)), bins = 5)
我是一名优秀的程序员,十分优秀!