需要帮助阻止javascript淡入效果在提交联系人表单后发生吗
我对在这里发帖很陌生。我有一个javascript的效果,使屏幕淡入时,第一次进入网站,但我不能阻止它发生后,表单提交。有什么简单的方法可以做到这一点吗 HTML JS需要帮助阻止javascript淡入效果在提交联系人表单后发生吗,javascript,css,Javascript,Css,我对在这里发帖很陌生。我有一个javascript的效果,使屏幕淡入时,第一次进入网站,但我不能阻止它发生后,表单提交。有什么简单的方法可以做到这一点吗 HTML JS “提交”按钮的默认行为是重新加载页面(这将导致动画再次出现)。您可以通过使用 $("form").submit(function(event){ event.preventDefault(); } 将此添加到您的代码中。您需要在单击“提交”按钮时防止过渡效果 $("input[type='submit']")
“提交”按钮的默认行为是重新加载页面(这将导致动画再次出现)。您可以通过使用
$("form").submit(function(event){
event.preventDefault();
}
将此添加到您的代码中。您需要在单击“提交”按钮时防止过渡效果
$("input[type='submit']").click(function(event){
$('body').css("transition", "none");
});
谢谢你,伙计。这个解决方案效果很好,只是它导致我在提交后丢失了平滑滚动动画。我编辑了我的文章,将这两个效果的JS代码片段都包括在内。我不知道如何将其中一个从另一个中挑出。我最有可能使用隐藏的表单数据让页面知道不要再做动画。你能提供一个例子吗?有几种方法可以做到这一点。我看到了一些防止默认设置的答案,但是您也可以使用几分钟后过期的cookie,或者如果使用服务器端脚本(如php),您可以使用会话来确定页面是否已经至少加载了一次该会话。您还可以使用隐藏的表单数据,当提交时,页面知道不再运行动画。可能会有更多的选择,但这些选择很快就会浮现在脑海中。这对过渡效果没有影响。
$(function() {
$('a[href*="#"]:not([href="#"])').click(function() {
if (location.pathname.replace(/^\//,'') == this.pathname.replace(/^\//,'') && location.hostname == this.hostname) {
var target = $(this.hash);
target = target.length ? target : $('[name=' + this.hash.slice(1) +']');
if (target.length) {
$('html, body').animate({
scrollTop: target.offset().top
}, 1000);
return false;
}
}
});
});
/* Fade in */
document.body.className += 'fade-out';
$(function() {
$('body').removeClass('fade-out');
})
$("form").submit(function(event){
event.preventDefault();
}
$("input[type='submit']").click(function(event){
$('body').css("transition", "none");
});