Javascript 将jquery fancybox显示为ajax成功
我有:Javascript 将jquery fancybox显示为ajax成功,javascript,jquery,ajax,fancybox,Javascript,Jquery,Ajax,Fancybox,我有: 被点击了 $(“.fancybox-effects-d”).fancybox({ 填充:15, 是的, }); $(“表单提交”).submit(函数() { var name=$('#name').attr('value'); var password=$('#password').attr('value'); $.ajax({ 类型:“POST”, url:“索引/成功”, 数据:{name:name,password:password}, 成功:函数() { //单击…的“提交”
被点击了 $(“.fancybox-effects-d”).fancybox({ 填充:15, 是的, }); $(“表单提交”).submit(函数() { var name=$('#name').attr('value'); var password=$('#password').attr('value'); $.ajax({ 类型:“POST”, url:“索引/成功”, 数据:{name:name,password:password}, 成功:函数() { //单击…的“提交”按钮时,此表单将消失并显示div $('form#submit').hide(函数() { $('div#errors').fadeIn(3000); }); } }); 返回false; }); });
我想移动fancybox,让它出现在ajax上。我应该怎么做呢?您可以使用最终用户看不见的链接,并在ajax成功回调上使用jQuery触发它。大概是这样的:<a id="hiddenlink" href="#fancy" style="display: none;"></a> <script> $(document).ready(function () { //this fancybox appears when <a href="..." ...>...</a> clicked $(".fancybox-effects-d").fancybox({ padding:15, closeBtn:true, } }); $("form#submit").submit(function () { var name = $('#name').attr('value'); var password = $('#password').attr('value'); $.ajax({ type:"POST", url:"index/success", data:{ name:name, password:password}, success:function () { $("a#hiddenlink").trigger("click"); //this form disappears and div appears when submit button of the <form id="submit" ...>...</form> clicked $('form#submit').hide(function () { $('div#errors').fadeIn(3000); }); } }); return false; }); }); </script>
您可以使用这个简单的函数手动调用fancybox$(文档).ready(函数() {//单击时会显示此fancybox $(“.fancybox-effects-d”).fancybox({ 填充:15, 是的, } }); $(“表单提交”).submit(函数() { var name=$('#name').attr('value'); var password=$('#password').attr('value'); $.ajax({ 类型:“POST”, url:“索引/成功”, 数据:{name:name,password:password}, 成功:函数() { $(“a#hiddenlink”)。触发器(“单击”); //单击…的“提交”按钮时,此表单将消失并显示div $('form#submit').hide(函数() { $('div#errors').fadeIn(3000); }); } }); 返回false; }); });
$.fancybox( '<p>Content of the box in HTML</p>', { padding:15, closeBtn:true } );
$.fancybox( “文本框的HTML内容”, { 填充:15, 真的吗 } );
只需将其添加到成功功能中。哇,它真的很有效!非常感谢。但是,我的意思是。。。我想将lightnbox“移动”到ajax的成功,而不是复制它。我的意思是我不需要页面上的链接来触发lightbox,我只需要在ajax成功时使用lightbox。这是lightbox触发链接的最佳解决方案吗?谢谢。这是一个解决方案,您也可以使用下面答案中的实现。您还可以创建一个简单的页面,并将“href”键设置为要显示的页面,因为我不喜欢在javascript中定义页面的标记,您可以在不同的位置重复使用页面。谢谢。很难选择最好的答案,因为两者都是完美的。罗伯,对不起,我选择这件阿斯耐尔作为最好的,因为它比较短,更适合我的需要。谢谢大家!没问题,我们是来帮你的,不是来收集那么多的分数的!:-)$.fancybox( '<p>Content of the box in HTML</p>', { padding:15, closeBtn:true } );