【发布时间】:2018-11-24 20:48:50
【问题描述】:
$('.lorem').on('click', function(){
$(this).hide();
if(prompt('DO SOMETHING') != null) {console.log('something');}
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class='lorem'>lorem</div>
所以我首先想隐藏 div 然后弹出确认对话框。有可能吗?
【问题讨论】:
-
是的,在动画帧中抛出提示
window.requestAnimationFrame(() => {if(prompt('DO SOMETHING') != null) {console.log('something');} } -
您可能需要执行嵌套动画帧回调,因为它会在下一次重绘之前运行,例如:
requestAnimationFrame(() => { /* div is about to be hidden on next paint*/ requestAniamtionFrame(() => { /* div was hidden on last paint */} }) -
@JayHarris,请不要告诉我我需要使用整个 API 来隐藏 div?
-
hide 接受一个回调函数,当动画完成时:api.jquery.com/hide/#hide-duration-complete -move your prompt there
标签: javascript jquery confirm