JQMobile Loader Widget 遮罩層改造

最近在用jqmobile 做一個混合APP項目時候用到 jqmobile1.4.3提供的Loader Widget控件,但是這個控件本身是一個loading彈出層,這個彈出層彈出之后,用戶還是可以去點擊按鈕,重復發送請求,為了防止重復提交,我想了兩種辦法,

1,在loading彈出層彈出之后,讓按鈕不可用.但是form表單里面的input還是可以點.

2,在loading這一層和body層之間再加上一層,把整個body遮起來,這個放在手機上一點按鈕感覺要閃一下.

現在我的解決方法就這兩種,如果有更好的方法可以M我.

下面我說說怎么實現的,上圖上代碼.

如上圖,這個登錄的按鈕要加 Loader Widget的一些屬性:

<button id="login" type="button" class="ui-btn ui-corner-all" οnclick="result(id)" data-transition="flip" data-rel="dialog"
data-theme="a" data-textonly="false" data-textvisible="true" data-msgtext="Loading..." data-inline="false">
登錄
</button>

這些屬性,Loader - jQuery Mobile Demos,這個講的很清楚,不明白的可以去看看.

<script type="text/javascript">
function result(id){
console.log($("#date").val());

//因為要用jq #選擇器,拼一個#號作為參數傳過去
var b="#"+id;
addloader(b);
var loginFormData=$('#loginForm').serializeJSON();
$.post("http://192.168.15.211:8080/test/login",loginFormData,function(data){
console.log(data);
var jsonData=eval("("+data+")");
console.log(jsonData.msg);
if(jsonData.flag==0){
//交易成功彈出層消失 按鈕可用
removeLoader();
window.location.href="#pageTwo";
}else{
//出現異常彈出層消失 按鈕可用
removeLoader();
$("p strong").html(jsonData.msg);
$("#right").click();
}
});
}

//添加loading彈出層和遮罩層的方法

function addloader(id){
$( document ).on( "click", id, function() {
? ?var $this = $( this ),
? ? ? ?theme = $this.jqmData( "theme" ) || $.mobile.loader.prototype.options.theme,
? ? ? ?msgText = $this.jqmData( "msgtext" ) || $.mobile.loader.prototype.options.text,
? ? ? ?textVisible = $this.jqmData( "textvisible" ) || $.mobile.loader.prototype.options.textVisible,
? ? ? ?textonly = !!$this.jqmData( "textonly" );
? ? ? ?html = $this.jqmData( "html" ) || "";
? ?$.mobile.loading( "show", {
? ? ? ? ? ?text: msgText,
? ? ? ? ? ?textVisible: textVisible,
? ? ? ? ? ?theme: theme,
? ? ? ? ? ?disabled:true,
? ? ? ? ? ?textonly: textonly,
? ? ? ? ? ?html: html
? ?});
? ?$("body").append('<div class="overlay"></div>');
? ?
});
};
//刪除loading和遮罩層的方法

function removeLoader(){
//隱藏彈出層
$.mobile.loading( "hide" );
//刪除遮罩層
$("div.overlay").remove();
}

</script>

遮罩層樣式:

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/712195.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/712195.shtml
英文地址,請注明出處:http://en.pswp.cn/news/712195.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

記錄SSM項目集成Spring Security 4.X版本 之 加密驗證和記住我功能

目錄 前言 一、用戶登錄密碼加密認證 二、記住我功能 前言 本次筆記的記錄是接SSM項目集成Spring Security 4.X版本 之 加入DWZ,J-UI框架實現登錄和主頁菜單顯示-CSDN博客https://blog.csdn.net/u011529483/article/details/136255768?spm1001.2014.3001.5502 文章之后補…

Python列表的合并、重復、判斷與切片操作你學會了嗎

1.合并列表 通過 實現 list1 ["佛跳墻", "腸粉", "刀削面", "烤鴨"]list2 [32, 4, 5, 7.43, True]list3 list1 list2print(list3) # [佛跳墻, 腸粉, 刀削面, 烤鴨, 32, 4, 5, 7.43, True] 2.重復輸出列表中的元素 通過 * 實…

fastadmin 前端日期字段的添加和編輯

引言 fastadmin 項目中如果需要用到datetime字段的維護&#xff0c;可做如下處理&#xff1a; 1. add.html <div class"form-group"><label class"control-label col-xs-12 col-sm-2">{:__(開始)}:</label><div class"col-x…

vue3 中 主題定制

vue3 中 主題定制 背景 做多主題定制&#xff0c;黑/白 &#xff0c;里面還要再分各種顏色&#xff0c;每次進來都要記住上次的主題設置 效果圖 一、目錄結構 ├── generated │ ├── theme │ │ └── dark-yellow.ts │ │ └── dark-orange.ts │ │…

C++考試成績統計(類實現)

題目&#xff1a;有三名同學&#xff0c;在一次考試中三科成績分別如下表&#xff0c;請輸出三名同學的平均成績&#xff1a; 語文數學英語張三100100100李四9050100王五607080 #include <iostream> #include <string> /*考試成績統計*/ using namespace std;cla…

力扣:120. 三角形最小路徑和

動態規劃 1.先定義dp數組在下標i和下標j時的最小路徑和 &#xff0c;之后初始化dp數組值dp【0】【0】triangle.get(0).get(0)。再用for循環來遍歷數組dp【】的i&#xff0c;并賦值每行的下標為0的dp數組。之后再用for循環遍歷dp【i】【】的j&#xff0c;遞推公式來計算dp【i】…

「算法」常見位運算總結

位運算符 異或 按位異或可以實現無進位相加&#xff0c;所謂無進位相加&#xff0c;就是在不考慮進位的情況下將兩個數相加&#xff08;后面有道題需要用到這種操作&#xff09; 異或的運算律 ①a ^ 0 a ②a ^ a 0 ③a ^ b ^ c a ^ ( b ^ c ) 有符號右移>> 將一個…

IDEA切換 Springboot初始化 URL

&#x1f339;作者主頁&#xff1a;青花鎖 &#x1f339;簡介&#xff1a;Java領域優質創作者&#x1f3c6;、Java微服務架構公號作者&#x1f604; &#x1f339;簡歷模板、學習資料、面試題庫、技術互助 &#x1f339;文末獲取聯系方式 &#x1f4dd; 往期熱門專欄回顧 專欄…

Android基礎控件介紹

在Android應用程序開發中&#xff0c;使用基礎控件是非常常見的。這些控件允許您在用戶界面中顯示文本、圖像、按鈕等元素&#xff0c;以及接收用戶輸入。本文將介紹幾種常見的基礎控件&#xff0c;并給出每個控件在示例XML中使用的屬性的詳細說明。 1. TextView TextView 是…

云計算 2月20號 (認識操作系統)

1、認識操作系統 計算機系統的組成 知識點1&#xff1a;沒有軟件系統的計算機稱之為"裸機" 知識點2&#xff1a;裸機提供基本的可計算性資源 知識點3&#xff1a;操作系統是最靠近硬件的軟件層&#xff0c;負責管理和控制計算機硬件。 計算機硬件組成五大部件 運算器…

Chat GPT:智能對話的下一步

Chat GPT&#xff1a;智能對話的下一步 介紹 Chat GPT&#xff08;Generative Pre-trained Transformer&#xff09;是一種基于Transformer架構的強大對話模型&#xff0c;可以產生自然流暢的回答&#xff0c;并實現人機對話的感覺。本文將探討Chat GPT在智能對話領域的影響和…

代碼隨想錄算法刷題訓練營day29:LeetCode(491)遞增子序列、LeetCode(46)全排列、LeetCode(47)全排列 II

代碼隨想錄算法刷題訓練營day29&#xff1a;LeetCode(491)遞增子序列、LeetCode(46)全排列、LeetCode(47)全排列 II LeetCode(491)遞增子序列 題目 代碼 import java.util.ArrayList; import java.util.Arrays; import java.util.Collections; import java.util.HashSet; im…

2024年AI全景預測

歡迎來到 2024 年人工智能和技術的可能性之旅。 在這里&#xff0c;每一個預測都是一個潛在的窗口&#xff0c;通向充滿創新、變革、更重要的是類似于 1950 年代工業革命的未來。 20 世紀 50 年代見證了數字計算的興起&#xff0c;重塑了行業和社會規范。 如今&#xff0c;人工…

老衛帶你學---leetcode刷題(242. 有效的字母異位詞)

242. 有效的字母異位詞 問題 給定兩個字符串 s 和 t &#xff0c;編寫一個函數來判斷 t 是否是 s 的字母異位詞。 注意&#xff1a;若 s 和 t 中每個字符出現的次數都相同&#xff0c;則稱 s 和 t 互為字母異位詞。 示例 1: 輸入: s “anagram”, t “nagaram” 輸出: t…

力扣1143. 最長公共子序列(動態規劃)

Problem: 1143. 最長公共子序列 文章目錄 題目描述思路復雜度Code 題目描述 思路 我們統一標記&#xff1a;str1[i]代表text1表示的字符數組&#xff0c;str2[j]代表text2表示的字符數組&#xff1b;LCS代表最長的公共子序列&#xff1b;&#xff08;我們易得只有str1[i]和str…

Flutter中Widget的生命周期

Widget生命周期&#xff1a; createState-initState-didChangeDependency-build-deactive-dispose 可通過WidgetsBinding類對widget生命周期的回調進行監控。 createState&#xff1a;StatefulWidget 中用于創建 State&#xff1b; initState&#xff1a;State 的初始化操作&am…

CLion遠程調試C++

文件映射到 可以右鍵文件夾選擇重新Cmake 編譯

xsslabs第七關

源碼 <!DOCTYPE html><!--STATUS OK--><html> <head> <meta http-equiv"content-type" content"text/html;charsetutf-8"> <script> window.alert function() { confirm("完成的不錯&#xff01;"…

【刷題】Leetcode 1609.奇偶樹

Leetcode 1609.奇偶樹 題目描述廣度優先搜索&#xff08;BFS&#xff09;深度優先算法&#xff08;DFS&#xff09; 思路一&#xff08;BFS&#xff09;思路二&#xff08;DFS&#xff09;Thanks?(&#xff65;ω&#xff65;)&#xff89;謝謝閱讀&#xff01;&#xff01;&a…

ShardingSphere Narayana XA 事務不回滾問題定位

ShardingSphere Narayana XA 事務不回滾問題定位 問題背景 用戶反饋&#xff0c;在使用 ShardingSphere Narayana 執行 XA 事務時&#xff0c;發生報錯&#xff1a;java.sql.SQLException: javax.transaction.RollbackException: TransactionImple.enlistResource - ARJUNA0…