仿的是花瓣登录效果,他默认HTML是这样的
<a onclick="app.showSheet('login', {modal: true});return false;" href="#" class="login btn wbtn"><span class="text"> 登录</span></a>
点击登录,会在#page里面加上登录框,
<div class="sheet-overlay" style="opacity: 1;"></div> <div id="sheet" class="destroy" style="display: block; top: 72px;"> <div id="sheet_login" class="sheet"> <div class="head"> <h2 id="登录花瓣">登录花瓣</h2> </div> <div class="body"> <div class="login-connect"> <h5 id="使用合作网站帐号登录">使用合作网站帐号登录</h5> <div class="connections clearfix"><a href="/oauth/weibo/instant_login/" onClick="return false;" class="weibo login-button">新浪微博</a><a href="/oauth/douban/instant_login/" onClick="return false;" class="douban login-button">豆瓣</a><a href="/oauth/renren/instant_login/" onClick="return false;" class="renren login-button">人人网</a><a href="/oauth/qzone/instant_login/" onClick="return false;" class="qzone login-button">QQ</a></div> <p class="less">未注册过花瓣也可以直接登录哦</p> </div> <div class="login-form"> <h5 id="使用注册邮箱登录">使用注册邮箱登录</h5> <form id="auth_form" action="https://huaban.com/auth/" method="post" class="Form FancyForm AuthForm"> <ul> <li> <div class="input email"> <input id="login_email" name="email" type="text" value=""> <label>花瓣注册邮箱</label> <span class="fff"></span></div> </li> <li> <div class="input password"> <input id="login_password" name="password" type="password"> <label>密码</label> <span class="fff"></span></div> </li> </ul> <div class="non_inputs"><a id="login_btn" href="#" onClick="return false;" class="btn btn18 rbtn"><strong> 登录</strong><span></span></a><a id="reset_password" href="#" onClick="return false;" class="less fr">忘记了密码?</a><a id="back_to_login" href="#" style="display: none;" onClick="return false;" class="less fr">哦,又想起来了!</a></div> </form> <div id="reset_msg" style="display: none;" class="success"></div> </div> <div class="clear"></div> </div> <a href="#" title="关闭" onClick="app.hideSheet();return false;" class="close"></a></div> </div>
点击关闭后,会删除这个登录框。而且出来的时候是向下拉,关闭的时候是向上收,我把上面代码放在/include/pop-login.php里面
onclick="app.showSheet('login', {modal: true});return false;"
他这样的方式怎么写
<code>$('.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(); }); </code>
回复内容:
仿的是花瓣登录效果,他默认HTML是这样的
<a onclick="app.showSheet('login', {modal: true});return false;" href="#" class="login btn wbtn"><span class="text"> 登录</span></a>
点击登录,会在#page里面加上登录框,
<div class="sheet-overlay" style="opacity: 1;"></div> <div id="sheet" class="destroy" style="display: block; top: 72px;"> <div id="sheet_login" class="sheet"> <div class="head"> <h2 id="登录花瓣">登录花瓣</h2> </div> <div class="body"> <div class="login-connect"> <h5 id="使用合作网站帐号登录">使用合作网站帐号登录</h5> <div class="connections clearfix"><a href="/oauth/weibo/instant_login/" onClick="return false;" class="weibo login-button">新浪微博</a><a href="/oauth/douban/instant_login/" onClick="return false;" class="douban login-button">豆瓣</a><a href="/oauth/renren/instant_login/" onClick="return false;" class="renren login-button">人人网</a><a href="/oauth/qzone/instant_login/" onClick="return false;" class="qzone login-button">QQ</a></div> <p class="less">未注册过花瓣也可以直接登录哦</p> </div> <div class="login-form"> <h5 id="使用注册邮箱登录">使用注册邮箱登录</h5> <form id="auth_form" action="https://huaban.com/auth/" method="post" class="Form FancyForm AuthForm"> <ul> <li> <div class="input email"> <input id="login_email" name="email" type="text" value=""> <label>花瓣注册邮箱</label> <span class="fff"></span></div> </li> <li> <div class="input password"> <input id="login_password" name="password" type="password"> <label>密码</label> <span class="fff"></span></div> </li> </ul> <div class="non_inputs"><a id="login_btn" href="#" onClick="return false;" class="btn btn18 rbtn"><strong> 登录</strong><span></span></a><a id="reset_password" href="#" onClick="return false;" class="less fr">忘记了密码?</a><a id="back_to_login" href="#" style="display: none;" onClick="return false;" class="less fr">哦,又想起来了!</a></div> </form> <div id="reset_msg" style="display: none;" class="success"></div> </div> <div class="clear"></div> </div> <a href="#" title="关闭" onClick="app.hideSheet();return false;" class="close"></a></div> </div>
点击关闭后,会删除这个登录框。而且出来的时候是向下拉,关闭的时候是向上收,我把上面代码放在/include/pop-login.php里面
onclick="app.showSheet('login', {modal: true});return false;"
他这样的方式怎么写
<code>$('.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(); }); </code>
大概这种感觉?
<code>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); }); </code>
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吗……

PHP在現代編程中仍然是一個強大且廣泛使用的工具,尤其在web開發領域。 1)PHP易用且與數據庫集成無縫,是許多開發者的首選。 2)它支持動態內容生成和麵向對象編程,適合快速創建和維護網站。 3)PHP的性能可以通過緩存和優化數據庫查詢來提升,其廣泛的社區和豐富生態系統使其在當今技術棧中仍具重要地位。

在PHP中,弱引用是通過WeakReference類實現的,不會阻止垃圾回收器回收對象。弱引用適用於緩存系統和事件監聽器等場景,需注意其不能保證對象存活,且垃圾回收可能延遲。

\_\_invoke方法允許對象像函數一樣被調用。 1.定義\_\_invoke方法使對象可被調用。 2.使用$obj(...)語法時,PHP會執行\_\_invoke方法。 3.適用於日誌記錄和計算器等場景,提高代碼靈活性和可讀性。

Fibers在PHP8.1中引入,提升了並發處理能力。 1)Fibers是一種輕量級的並發模型,類似於協程。 2)它們允許開發者手動控制任務的執行流,適合處理I/O密集型任務。 3)使用Fibers可以編寫更高效、響應性更強的代碼。

PHP社區提供了豐富的資源和支持,幫助開發者成長。 1)資源包括官方文檔、教程、博客和開源項目如Laravel和Symfony。 2)支持可以通過StackOverflow、Reddit和Slack頻道獲得。 3)開發動態可以通過關注RFC了解。 4)融入社區可以通過積極參與、貢獻代碼和學習分享來實現。

PHP和Python各有優勢,選擇應基於項目需求。 1.PHP適合web開發,語法簡單,執行效率高。 2.Python適用於數據科學和機器學習,語法簡潔,庫豐富。

PHP不是在消亡,而是在不斷適應和進化。 1)PHP從1994年起經歷多次版本迭代,適應新技術趨勢。 2)目前廣泛應用於電子商務、內容管理系統等領域。 3)PHP8引入JIT編譯器等功能,提升性能和現代化。 4)使用OPcache和遵循PSR-12標準可優化性能和代碼質量。

PHP的未來將通過適應新技術趨勢和引入創新特性來實現:1)適應云計算、容器化和微服務架構,支持Docker和Kubernetes;2)引入JIT編譯器和枚舉類型,提升性能和數據處理效率;3)持續優化性能和推廣最佳實踐。


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

Dreamweaver CS6
視覺化網頁開發工具

SecLists
SecLists是最終安全測試人員的伙伴。它是一個包含各種類型清單的集合,這些清單在安全評估過程中經常使用,而且都在一個地方。 SecLists透過方便地提供安全測試人員可能需要的所有列表,幫助提高安全測試的效率和生產力。清單類型包括使用者名稱、密碼、URL、模糊測試有效載荷、敏感資料模式、Web shell等等。測試人員只需將此儲存庫拉到新的測試機上,他就可以存取所需的每種類型的清單。

PhpStorm Mac 版本
最新(2018.2.1 )專業的PHP整合開發工具

ZendStudio 13.5.1 Mac
強大的PHP整合開發環境

SublimeText3 Linux新版
SublimeText3 Linux最新版