时间:2021-07-01 10:21:17 帮助过:27人阅读
登录
点击登录,会在#page里面加上登录框,
登录花瓣
使用合作网站帐号登录
新浪微博豆瓣人人网QQ
未注册过花瓣也可以直接登录哦
使用注册邮箱登录
点击关闭后,会删除这个登录框。而且出来的时候是向下拉,关闭的时候是向上收,我把上面代码放在/include/pop-login.php里面
onclick="app.showSheet('login', {modal: true});return false;"
他这样的方式怎么写
$('.login').on('click',function(){
$.ajax({
async: false,
url: "/include/pop-login.php",
cache: false,
success: function(html){
$("#page").append(html);
}
});
});
$('#sheet_login .close').live('click',function(){
$('.sheet-overlay').remove();
$('#sheet').remove();
});
仿的是花瓣登录效果,他默认HTML是这样的
登录
点击登录,会在#page里面加上登录框,
登录花瓣
使用合作网站帐号登录
新浪微博豆瓣人人网QQ
未注册过花瓣也可以直接登录哦
使用注册邮箱登录
点击关闭后,会删除这个登录框。而且出来的时候是向下拉,关闭的时候是向上收,我把上面代码放在/include/pop-login.php里面
onclick="app.showSheet('login', {modal: true});return false;"
他这样的方式怎么写
$('.login').on('click',function(){
$.ajax({
async: false,
url: "/include/pop-login.php",
cache: false,
success: function(html){
$("#page").append(html);
}
});
});
$('#sheet_login .close').live('click',function(){
$('.sheet-overlay').remove();
$('#sheet').remove();
});
大概这种感觉?
function on_click_login(){
$.ajax({
async: false,
url: "/include/pop-login.php",
cache: false,
success: function(html){
$("#page").append(html);
},
error: function(){
$('.login').one('click',on_click_login);
}
});
}
$('.login').one('click',on_click_login);
$('#page').on('click','#sheet_login .close',function(){
$('.sheet-overlay').remove();
$('#sheet').remove();
$('.login').one('click',on_click_login);
});
PS,因为不喜欢live所以随手改掉了……
也碰到过楼主的这样的问题,那个时候也没有什么好方法解决。当时用了一个很丑陋的方法解决掉的。
当时在页面上写了一个隐藏变量,每次ajax触发之前,都清零,ajax执行成功之后,延迟100ms,才给他赋值,然后每次按键的时候,都预先判断这个隐藏变量是否有值。
var popLogin = {
isLock: false,
init: function() {
if (popLogin.isLock) {
//TODO...
return false;
}
$.ajax({
url: "/include/pop-login.php",
cache: false,
success: function(html){
$("#page").append(html);
},
complete: function() {
popLogin.isLock = false;
}
});
}
};
$('.login').on('click', popLogin.init());
难道不是在click时disable掉按钮,然后在ajax结束的时候enable吗……