【发布时间】:2020-08-26 12:56:40
【问题描述】:
我想将图像 div 取出到 a href 之外,同时保持按下链接时它对它的影响。我试过了,但一旦它不在主 div 内,动画就不起作用了。
注意:JS脚本是设置延迟让图片动画然后访问链接。
https://codepen.io/jinzagon/pen/JjXWzQj
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<a style="position:absolute; z-index:999999;"href="http://google.com" class="section">TEST
<div class="response">
<img src="https://iphonesoft.fr/images/_082019/fond-ecran-dynamique-macos-wallpaper-club.jpg" />
</div>
</a>
CSS
body{
background-color:black;
}
a {
overflow: hidden;
}
.section {
position: absolute;
width: 100%;
height: 100%;
left: 0;
top: 0;
transition: 4s ease-out;
}
.response {
position: absolute;
top: 0px;
left: 00px;
width: 100%;
height: 100%;
transition: 4s ease-out;
opacity: 1;
}
.clicked {
animation-delay: 2s;
animation: event 2s;
}
.clicked .response {
animation: response 4s;
}
@keyframes response {
0% {} 16% {
opacity: 1;
}
32% {
opacity: 0;
}
40% {
opacity: 0;
transform: scale(1.15);
}
100% {
opacity: 0;
}
}
JS
$(document).ready(function() {
$('.section').click(function(e) {
e.preventDefault();
var $a = $(this).addClass('clicked');
setTimeout(function() {
window.location.assign($a.attr('href'));
}, 1700);
});
});
【问题讨论】:
-
而不是做 $(this).addClass('clicked');做 $('.response').addClass('clicked');并且在你的 CSS 中只定位 div 类,点击动画。
-
@radlaz 抱歉,我没听明白。
-
@radlaz 我修改了代码,它只是开始播放动画,甚至没有点击链接。
-
我错过了阅读您的一些代码.. 抱歉忘记了。当您说要“将图像 div 取出到 a href 之外”时,您能指定您的意思吗?您的意思是看起来在 a 标签之外还是实际上在 a 标签之外?我对你想要什么感到困惑。
-
@radlaz 实际上在 a 标签之外。我想要单独的链接,单独的图像,但是在单击链接后要启用图像的动画,就像现在一样。
标签: javascript html jquery css frontend