我没有使用jquery或javascript的经验。 我正在尝试实现此技术,以响应用户的错误或消息。
lights-out-dimmingcovering-background-content-with-jquery
这个方法使用onclick事件,而不是后来的事情,我试图用.load替换.onclick,但这似乎不起作用。我正在快速修复,因为我真的没有时间学习jquery或它的事件处理程序。
目标是捕获任何错误或消息,一旦调用这些错误或消息,就会调用警报框,而不会执行任何其他操作,例如.onclick。
我的代码看起来如何:
{PHP}
$forms = new forms();
if(count($forms->showErrors) > 0 // or == true)
{
foreach($forms->showErrors as $error)
{
print('<p class="alert">'.htmlspecialchars($error, ENT_QUOTES).'</p>');
}
}
编辑: 全部固定,谢谢!
答案 0 :(得分:2)
您使用“.load”处于正确的轨道上,但是您希望将此功能绑定到页面的“就绪”事件(当DOM完成时;您不需要等待加载事件) ,所以这是你需要改变的 - 假设你在Lights Out页面上使用代码示例:
$(document).ready(function(){
//Adjust height of overlay to fill screen when page loads
$("#fuzz").css("height", $(document).height());
//When the link that triggers the message is clicked fade in overlay/msgbox
//$(".alert").click(function(){
// $("#fuzz").fadeIn();
// return false;
//});
// INSTEAD: If any errors are present in the page, fade in the layer:
if ( $("p.alert").length ) {
$("#fuzz").fadeIn();
}
// end of change
//When the message box is closed, fade out
$(".close").click(function(){
$("#fuzz").fadeOut();
return false;
});
});
//Adjust height of overlay to fill screen when browser gets resized
$(window).bind("resize", function(){
$("#fuzz").css("height", $(window).height());
});
确保也包含图层的HTML和CSS。