寫在前面的話
好記性不如爛筆頭,開發(fā)中當(dāng)中總會(huì)遇到各種各樣的問題旁蔼,有時(shí)候?yàn)榱私鉀Q某些問題甚至是尋找答案很久锨苏,網(wǎng)上大牛的解答也是五花八門,有的能理解棺聊,有的不能理解伞租,要一個(gè)一個(gè)去查看去分辨那些解答才是你想要的,無(wú)形當(dāng)中又浪費(fèi)了寶貴的時(shí)間限佩。
而且隨著時(shí)間的流逝遇到的問題多了葵诈,有的甚至?xí)洰?dāng)初是怎么解決的了,然后再次遇到的話還得再次去查找祟同,也是很浪費(fèi)時(shí)間作喘。記錄積累起來(lái)方便自己查看,同時(shí)也希望能有機(jī)會(huì)給他人一些參考晕城,獨(dú)樂樂不如眾樂樂泞坦。
重要的一點(diǎn)是,回顧總結(jié)自己遇到的問題广辰,是對(duì)自己知識(shí)的重新梳理暇矫,讓知識(shí)在大腦里回爐一遍,變成自己的東西然后再輸出择吊,這對(duì)于自己成長(zhǎng)是很有價(jià)值的事情。這才是最重要的槽奕。
所以几睛,這是一篇主要寫給自己的文章。同時(shí)也歡迎其他喜歡前端的朋友瀏覽粤攒,如果有人看了并且發(fā)現(xiàn)有不對(duì)的地方也歡迎提供寶貴的意見所森。
Javascript
從URL中獲取參數(shù)的方法
//javascript
var urlParams;
function getUrlParam(key){
if(!urlParams){
//把當(dāng)前顯示文檔的完整URL保存到變量URL中
var url=location.href;
//如果url中返回索引值 ? 第一次出現(xiàn)的調(diào)用的位置下標(biāo)大于0進(jìn)入下面函數(shù)
if(url.indexOf('?')>0){
//提取URL中介于囱持?之后的字符串,然后從&符號(hào)處分割成兩個(gè)字符串在一個(gè)數(shù)組里焕济,賦值給變量paramsString
var paramsString = url.substring(url.indexOf("?") + 1, url.length).split("&");
var paramItem,i;
// 創(chuàng)建一個(gè)空對(duì)象
urlParams = {};
// 遍歷提取過(guò)的的參數(shù)字符串
for (i = 0; i<paramsString.length; i++) {
//把第每個(gè)字符串中從 = 處分割成兩個(gè)字符串返回到一個(gè)數(shù)組
paramItem = paramsString[i].split('=');
//把返回paramItem數(shù)組中下標(biāo)為1的值賦值給urlParams空對(duì)象下標(biāo)為0的值
urlParams[paramItem[0]]=paramItem[1];
}
}else{
// 如果有URL參數(shù)返回空
return "";
}
}
if(key)return urlParams[key]||"";
return urlParams;
}
獲取的是url中?號(hào)后面的 key和value,
假如當(dāng)前網(wǎng)址是https//:127.0.0.1:5000/index.html?Id=110&name=xiaoming
var Id = getUrlParam(Id);
console.log(Id); //輸出110
var name = getUrlParam(name);
console.log(name); //輸出xiaoming
從URL中獲取中文參數(shù)不亂碼的方法(可代替上面方法)
function getQueryString(name) {
var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i");
var l = decodeURI(window.location.search);
var r = l.substr(1).match(reg);
if (r != null) return unescape(r[2]);
return null;
}
注冊(cè)頁(yè)面纷妆,密碼輸入框點(diǎn)擊小眼睛切換密碼顯示與隱藏
- 功能實(shí)現(xiàn)重點(diǎn)就是點(diǎn)擊小眼睛改變input的type值和小眼睛圖片img的src路徑
//html
<li>
![](img/invisible.png)
<input id="inputInVisible" type="password" placeholder="設(shè)置密碼6-30位密碼" maxlength="30"/>
</li>
//javascript
//頁(yè)面加載執(zhí)行
showPsw();
function showPsw() {
//定義一個(gè)變量n
var n =1;
//點(diǎn)擊小眼睛圖片執(zhí)行
$("#visible").on('click', function() {
當(dāng)n取模不等于0切換input的type屬性和img的src路徑,然后n自增1晴弃,此時(shí)n=2
if (n%2 != 0) {
$('#inputInVisible').attr('type', 'text');
$('#visible').attr('src', 'img/visible.png');
n++;
}else if (n%2 == 0){
//因?yàn)閚=2掩幢,所以再次點(diǎn)擊跳過(guò)一個(gè)條件,進(jìn)入這個(gè)條件語(yǔ)句內(nèi)上鞠,繼續(xù)切換type的值和img的scr路徑际邻,然后n自減1,下次點(diǎn)擊又執(zhí)行上面條件內(nèi)的語(yǔ)句芍阎,如此反復(fù)世曾。
$('#inputInVisible').attr('type', 'password');
$('#visible').attr('src', 'img/invisible.png');
n--;
}
});
}
(未完待續(xù)...)