【发布时间】:2014-11-10 19:53:42
【问题描述】:
我正在尝试复制此网站上看到的按钮悬停效果:http://www.dewitt.ch/
他们使用 CSS 样式的三角形并在悬停时对其进行动画处理。
jQuery(".btn")
.mouseover(function () {
jQuery(this).find(".triangle").animate({
right: "-50px"
}, 100);
})
.mouseout(function () {
jQuery(this).find(".triangle").animate({
right: "-500px"
}, 100,
function () {
jQuery(this).find(".triangle").css(
"right", "100%"
)
});
});
我创建了一个代码 sn-p 在这里展示我目前的工作:
jQuery(".btn")
.mouseover(function() {
jQuery(this).find(".triangle").animate({
right: "0px"
});
})
.mouseout(function() {
jQuery(this).find(".triangle").animate({
right: "100%"
});
});
.btn {
-webkit-backface-visibility: hidden;
-moz-backface-visibility: hidden;
-ms-backface-visibility: hidden;
-o-backface-visibility: hidden;
backface-visibility: hidden;
display: inline-block;
border: 1px solid #d5b7a0;
color: #d5b7a0;
font: 400 1.2em/1em Arial, Helvetica, sans-serif;
height: 48px;
line-height: 48px;
margin-top: 20px;
overflow: hidden;
padding: 0 50px;
position: relative;
text-transform: uppercase;
letter-spacing: 2px;
background: 0 0;
cursor: pointer;
transform: translate3d(0px, 0px, 0px);
}
.btn .triangle {
width: 100%;
position: absolute;
top: 0;
border-left: 52px solid transparent;
border-right: 52px solid transparent;
border-top: 52px solid #d5b7a0;
display: block;
right: 100%;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<a href="#" class="btn">
<span class="triangle"></span>
<span>Button</span>
</a>
我即将让它正常工作,但三角形正在“弹跳”,而且 我正在努力让它从左侧进入并从右侧退出。 p>
我正在使用 jQuery .mouseover 和 .mouseout 来触发 .animate,这可能不是最好的方法?
【问题讨论】: