【发布时间】:2017-12-15 08:28:53
【问题描述】:
页面底部的演示
所以我有一个默认不透明度为 0 的 div,我们称之为#myDiv。
当用户将鼠标悬停在#myDiv 上时,不透明度变为 1。
#myDiv {
opacity: 0;
}
#myDiv:hover {
opacity: 1;
}
现在我在 div 中有一个 <hr/> 标签,默认为 width: 0;,例如:
hr {
width: 0;
-webkit-transition: all 0.5s ease;
-moz-transition: all 0.5s ease;
-o-transition: all 0.5s ease;
transition: all 0.5s ease;
}
用户将鼠标悬停在#myDiv 后,它将转换为具有 100% 的宽度,如下所示:
#myDiv:hover hr {
width: 100%;
}
现在我在这个网站上还有一个脚本可以检查移动用户,因为这些不会触发悬停效果。所以它会检查 div 是否在屏幕上可见,并将不透明度设置为 1。
现在我希望能够在移动设备上触发<hr/> 效果,我认为也许可以在 css 中使用 if 语句,但我认为这是不可能的。我的想法是这样的:
if (#myDiv.opacity == 1) {
hr {
width: 100%;
}
}
但这不能用 css 完成,这可以用 Javascript 实现吗?或者这里最好的解决方案是什么?
我对 JavaScript 没有太多经验。
要在桌面上查看演示,请参阅: Go to My Work and hover over project
如何在移动设备上实现这一点?
【问题讨论】:
-
用
scss怎么样? -
你会想看看媒体查询 (w3schools.com/css/css3_mediaqueries_ex.asp)
-
所以你有一个JS脚本来检查#myDiv是否是inview并改变不透明度,为什么这个脚本也不能触发动画?
标签: javascript html css