不太确定如何解释这个最好的方法,但我会试一试!
我有一个使用Fancybox的php网站。目前,如果有人点击“登录”,则会在登录表单中显示一个叠加层。如果有人点击发布新的商家信息并且他们没有登录,我希望再次显示fancybox重叠,允许用户登录。
目前,我有几行php代码可以检查会话是否处于活动状态 - 如果没有,它会重定向到登录页面,我希望这可以激活带有登录表单的fancybox弹出窗口......如果可能的话?
我不确定如何最好地实现这一目标?任何帮助都是极好的! :)
答案 0 :(得分:0)
可以有多种方法。
首先,您如何识别某人已登录?假设我可以使用if条件执行此操作:
if(user==null) {
//no login
}
我可以触发点击登录的锚点链接,然后再次打开fancybox。
if(user==null) {
$("a#login").trigger('click');
}
希望它能给你一些帮助。
答案 1 :(得分:0)
我不确定你在jQuery之外编写的编程语言是什么,但是高级解决方案可能是在用户登录时删除cookie。然后,当他们点击发布新的列表时,检查一下曲奇饼。如果它在那里,让他们发布。如果没有显示登录窗口。这是使用jQuery.Cookie插件的一些伪代码:
$(function(){
$('.login-button').click(function(){
//send login info via ajax
$(this).hide("slow",function(){
// drop a cookie
$.cookie( 'login', '1', { expires: 1, path: '/' } );
});
});
// When the post button is clicked, check for the cookie
// If there's no cookie, show the login box
$('.post-button').click(function(){
if( $.cookie('Login') === null ) {
$("#login-box").fancybox();
} else {
// do nothing
}
});
});