1.獲取遠程ftp數據到本地目錄
#!/bin/bash
ftp -n<<!
open 135.0.24.19
user exchange exchange
binary
cd /idep/data/0/90/201704/11/0851/9011/90110010 #遠程目錄
lcd /home/oracle/DataChangeTest/target/ftpdata #本地目錄
prompt
mget BOSSNM_0_3020_5001*
close
bye
!
2.
.shell腳本小遊戲,猜想商品價格
#!/bin/bash
PRICE=$(expr $RANDOM % 1000)
TIMES=0
echo "商品實際價格爲0-999之間,猜猜看是多少?"
while true
do
read -p "請輸入你猜想的價格數目:" INT
let TIMES++
if [[ $INT -eq $PRICE ]]; then
echo "恭喜你答對了,實際價格是$PRICE"
echo "你總共猜想了$TIMES次"
exit 0
elif [[ $INT -gt $PRICE ]]; then
echo "過高了"
else
echo "過低了"
fi
done
3.Linux下導出表數據並轉換爲json數據文件(文件序號名自增)
第一步.使用shell腳本從數據庫獲取數據到test.txt文本中
getdata.sh
#!/bin/bash
source /home/oracle/.bash_profile
current=$(date +%Y%m%d%H%M%S)
today=$(date +%Y%m%d)
dire="/home/oracle/DataChangeTest/sqlTxt/data_check/${today}"
if [ ! -d "$dire" ]; then
mkdir "$dire"
fi
result=$(sqlplus -s 'tyzw_ty/tyzw_ty2016'<<EOF
spool "/home/oracle/DataChangeTest/sqlTxt/data_check/${today}/${current}data_check.txt"
set pages 0
set feed off
set heading off;
set feedback off;
set verify off;
set linesize 10000;
SELECT
id||'#&'||check_desc||'#&'||check_name||'#&'||check_result||'#&'||TO_CHAR(check_time,'YYYY-MM-DD HH:MM:SS')||'#&'||check_title||'#&'||check_no||'#&' FROM tyzw_ty.DATA_CHECK;
spool off
EOF
)
#這樣得出的文本信息是以逗號隔開的
第二步、使用python來讀取test.txt文件,並轉換成json數據輸出到json文件中
change.py
#!/usr/bin/python
# -*- coding: utf-8 -*-
import json,time,os,sys
def TxttoJson():
#get today time
today = time.strftime('%Y%m%d',time.localtime(time.time()))
#過獲取指定文件夾下最新時間內改動的文件
base_dir="/home/oracle/DataChangeTest/sqlTxt/data_check/"+today+"/"
l=os.listdir(base_dir)
l.sort(key=lambda fn: os.path.getmtime(base_dir+fn) if not os.path.isdir(base_dir+fn) else 0)
exctxt = base_dir + l[-1] #l[-1]就是最新的文件
f = open(exctxt,'r') #打開指定數據文件
sourceInLines = f.readlines()
jsonData = []
for line in sourceInLines:
result = {}
line = line.split(',') #截取以逗號隔開的信息
result['check_desc'] = str(line[0]).lstrip() #去掉左邊的空格
result['check_name'] = str(line[1]).lstrip()
result['check_result'] = line[2].lstrip()
result['check_time'] = line[3].lstrip()
result['check_title'] = str(line[4]).lstrip()
jsonData.append(result)
jsondatar=json.dumps(jsonData,ensure_ascii=False)
f.close()
return jsondatar[1:len(jsondatar)-1]
if __name__=='__main__': #都是2個下劃線 不要搞錯了
os.system('sh /home/oracle/DataChangeTest/Myshell/data_check.sh') #在轉換數據以前先執行獲取數據的shell腳本>,來獲取數據,這裏面的路徑必須是絕對路徑,要否則定時任務時要報錯
currtime = time.strftime('%Y%m%d',time.localtime(time.time()))
jsData = TxttoJson()
len = len([j for i in [i[2] for i in os.walk("/home/oracle/DataChangeTest/sqlTxt/data_check/"+currtime)] for j in i])
number = "00000000"
if len<10:
number = "0000000"+str(len)
else:
number = "000000"+str(len)
target = open(r"/oradata/exchange/idep/Send/udmu/normal/BOSSNM_0_3020_5002_20_H1_"+currtime+"_851_"+number+"_000.json",'w+') #輸出文件
target.write(jsData)
target.close()
4.生成10個隨機數保存於數組中,並找出其最大值和最小值
#!/bin/bash
declare -a rand
declare -i max=0
declare -i min=32767
for i in {0..9};do
rand[$i]=$RANDOM
echo ${rand[$i]}
[ ${rand[$i]} -gt $max ] && max=${rand[$i]}
[ ${rand[$i]} -lt $min ] && min=${rand[$i]}
done
echo "Max: $max Min:$min"
5.編寫腳本,定義一個數組,數組中的元素是/var/log 目錄下全部以.log 結尾的文件;要統計其下標爲偶數的文件中的行數之和
#!/bin/bash
declare -a files
files=(/var/log/*.log)
declare -i lines=0
for i in $(seq 0 $[${#files[*]}-1]);do
if [ $[$i%2] -eq 0 ];then
let lines+=$(wc -l ${files[$i]} | cut -d' ' -f1)
fi
done
echo "Lines:$lines."
6.綜合實例
str=$(echo {a..z}|tr -d ' ') echo ${#str} 26 echo ${str:3} defghijklmnopqrstuvwxyz echo ${str:3:6} defghi echo ${str: -3}#注意空格 xyz user=$(getent passwd root) echo ${user#*root} #刪除第一次出現root的 :x:0:0:root:/root:/bin/bash echo ${user##*root}#刪除全部出現的root :/bin/bash echo ${user%root*} #刪除最後一個root以及其後的字符 root:x:0:0:root:/ user1=super$user echo $user1 superroot:x:0:0:root:/root:/bin/bash echo ${user1%%root*} #貪婪模式,刪除第一個root以及其後的字符 super url='http://www.baidu.com:80' echo ${url%%:*} 從右向左匹配到最後一個:後刪除 http echo ${url##*:} 從左向右匹配到最後一個:後刪除 80 # 搜索替換 user=$(getent passwd root) echo ${user/root/lee} #只替換第一個 lee:x:0:0:root:/root:/bin/bash echo ${user//root/lee} #全局替換 lee:x:0:0:lee:/lee:/bin/bash echo ${user/#root/lee}# 匹配root開頭的行(#錨定行首) lee:x:0:0:root:/root:/bin/bash echo ${user/%bash/lee}# 匹配bash結尾的行(%錨定詞尾) root:x:0:0:root:/root:/bin/lee #搜索刪除(用空替代) user=$(getent passwd root) echo ${user/root/} #只替換第一個 :x:0:0:root:/root:/bin/bash echo ${user//root/} #全局替換 :x:0:0::/:/bin/bash echo ${user/#root/}# 匹配root開頭的行(#錨定行首) :x:0:0:root:/root:/bin/bash echo ${user/%bash/}# 匹配bash結尾的行(%錨定詞尾) root:x:0:0:root:/root:/bin/ #轉換成大寫 echo ${user^^} ROOT:X:0:0:ROOT:/ROOT:/BIN/BASH user1=${user^^} echo $user1 ROOT:X:0:0:ROOT:/ROOT:/BIN/BASH echo ${user1,,} root:x:0:0:root:/root:/bin/bash
1.邊的圓角設置
(-moz-)border-top-right-radius上右
border-top-left-radius上左
border-bottom-right-radius下右
border-bottom-left-radius下左
-moz-火狐內核
-webkit-Chrome內核
2.控件失效和背景顏色變換
$('#modifrate').prop('disabled',false);
$('#modifrate').css('background-color','#007eff');
$("p").css({ "color":"white", "background-color":"#98bf21", "font-family":"Arial", "font-size":"20px", "padding":"5px" });
3.陰影部分
box-shadow: 10px 10px 5px #888888;
4.Select控件的選擇使用
5.JQuery選擇器的使用
6.HTML中字體和顏色設置
font-family:華文新魏;color:white;
7.js代碼設置元素屬性
li.setAttribute('class','css名稱');
li.setAttribute('id','名稱');
xx.setAttribute('type','類型');
8.js代碼寫標籤示例
9.display:inline、block、inline-block的區別
display:block就是將元素顯示爲塊級元素.
block元素的特色是:
老是在新行上開始;
高度,行高以及頂和底邊距均可控制;
寬度缺省是它的容器的100%,除非設定一個寬度
<div>, <p>, <h1>, <form>, <ul> 和 <li>是塊元素的例子。
display:inline就是將元素顯示爲行內元素.
inline元素的特色是:
和其餘元素都在一行上;
高,行高及頂和底邊距不可改變;
寬度就是它的文字或圖片的寬度,不可改變。
<span>, <a>, <label>, <input>, <img>, <strong> 和<em>是inline元素的例子。
inline和block能夠控制一個元素的行寬高等特性,須要切換的狀況以下:
讓一個inline元素重新行開始;
讓塊元素和其餘元素保持在一行上;
控制inline元素的寬度(對導航條特別有用);
控制inline元素的高度;
無須設定寬度便可爲一個塊元素設定與文字同寬的背景色。
display:inline-block將對象呈遞爲內聯對象,可是對象的內容做爲塊對象呈遞。旁邊的內聯對象會被呈遞在同一行內,容許空格。
inline-block的元素特色:
將對象呈遞爲內聯對象,可是對象的內容做爲塊對象呈遞。旁邊的內聯對象會被呈遞在同一行內,容許空格。(準確地說,應用此特性的元素呈現爲內聯對象,周圍元素保持在同一行,但能夠設置寬度和高度地塊元素的屬性)
並非全部瀏覽器都支持此屬性,目前支持的瀏覽器有:Opera、Safari在IE中對內聯元素使用display:inline-block,IE是不識別的,但使用display:inline-block在IE下會觸發layout,從而使內聯元素擁有了display:inline-block屬性的表症。從上面的這個分析,也不難理解爲何IE下,對塊元素設置display:inline-block屬性沒法實現inline-block的效果。這時塊元素僅僅是被display:inline-block觸發了layout,而它本就是行佈局,因此觸發後,塊元素依然仍是行佈局,而不會如Opera中塊元素呈遞爲內聯對象。
10.徹底匹配屬性選擇器(CSS爲id設置style)
<div id="test">字體什麼顏色</div>
[id=test]{
color: red;
}
11.包含匹配選擇器
[id*=test]{
color:red;
}
<div id="test">字體什麼顏色</div>
<div id="test2">字體什麼顏色</div>
<div id="test3">字體什麼顏色</div>
12.尾匹配選擇器
只要是一article結尾的均可以匹配
13.nth-child和nth-last-child
14.box-shoaow
15.背景顏色漸變
效果圖以下:
16. 問題
<globalization
requestEncoding="gb2312"
responseEncoding="gb2312"
/>時兩個等於一個漢字
<globalization
requestEncoding="utf-8"
responseEncoding="utf-8"
/>四個等於一個漢字
17.localStorage的使用
存儲json格式數據
18.判斷是否網絡離線
/**
* 判斷網絡是否在線
*/
if(window.navigator.onLine){
alert('在線');
}else{
alert('離線');
}
19.H5中的定位
20.定時器的寫法
21.Java調用webservice
1.定義PostMethod
PostMethod pm=new PostMethod("url訪問地址");
2.把Soap請求的數據xml="..."放到PostMethod中
byte[] b=xml.getBytes("utf-8");
InputStream is = new ByteArrayInputStream(b,0,b.length);
RequestEntity re = new InputStreamRequestEntity(is, b.length, "application/soap+xml; charset=utf-8");
postMethod.setRequestHeader("SOAPAction", "");
postMethod.setRequestEntity(re);
3.生成HttpClient來發送PostMethod請求
HttpClient httpclient=new HttpClient();
httpClient.executeMethod(postMethod);
4.接收返回數據
String strxml = postMethod.getResponseBodyAsString();
22.HttpSessionListener的學習
HttpSessionListener
有2個接口須要實現
sessionCreated
//新建一個會話時候觸發也能夠說是客戶端第一次和服務器交互時候觸發
sessionDestroyed
//銷燬會話的時候 通常來講只有某個按鈕觸發進行銷燬 或者配置定時銷燬
23.MyBatis知識
MyBatis 是一個能夠自定義SQL、存儲過程和高級映射的持久層框架。MyBatis 摒除了大部分的JDBC代碼、手工設置參數和結果集重獲。MyBatis 只使用簡單的XML 和註解來配置和映射基本數據類型、Map 接口和POJO 到數據庫記錄。相對Hibernate和Apache OJB等「一站式」ORM解決方案而言,Mybatis 是一種「半自動化」的ORM實現。
須要使用的Jar包:mybatis-3.0.2.jar(mybatis核心包)。mybatis-spring-1.0.0.jar(與Spring結合包)
24.Struts2常有核心jar包及其做用
struts2五大核心jar包
<從下載的struts2框架中找出下面的jar包>
1。Commons-logging.jar -------------- 用於通用日誌處理
2。Freemarker.jar -------------- 表現層框架,定義了struts2的可視組件主題
3。Ognl.jar -------------- OGNL表達式語言,struts2支持該EL
4。Struts2-core.jar -------------- struts2 2.0.11.2的核心庫
5。Xwork.jar -------------- webwork的核心庫
如要整合其餘框架,則須要添加相應的xxx-plugin.jar如:
整合
spring
須要將這個jar包導入:struts2-spring-plugin.jar ---struts2的spring插件
用到action註解是需導入的包:struts2-convention-plugin-2.3.15.1.jar
1.struts2-core-2.3.1.1.jar struts核心包
2.freemarker-2.3.18.jar freeMarker是一個模板引擎,一個基於模板生成文本輸出的通用工具
3.commons-logging-1.1.1.jar Jakarta的通用日誌記錄包
4.ognl-3.0.3.jar 支持ognl表達式
5.xwork-core-2.3.1.1.jar xwork的包 因爲Struts2是由xwork的延伸 有些類依然關聯着 xwork的類
6.commons-fileupload-1.2.2.jar struts的上傳下載
STRUTS2.3.4最基礎的jar包-必須添加完整
struts2.3.4,jar包必須添加完整,類容以下:
asm-3.3.jar
asm-commons-3.3.jar
asm-tree-3.3.jar
commons-fileupload-1.2.2.jar
commons-io-2.0.1.jar
commons-lang3-3.1.jar
commons-loggin-1.1.1.jar
freemarker-2.3.19.jar
javassist-3.11.0.GA.jar
ognl-3.0.5.jar
strut2-core-2.3.4.jar
xwork-core-2.3.4.jar
如以上jar包未添加完整,tomcat啓動時就會報錯
commons包 相關
commons-beanutils.jar(1.1) 主要提供Bean的用法
commons-codec-1.3.jar(1.3) 主要包括核心的
算法
(Md5等)
commons-collections-3.2.1.jar(3.2.1) 各類集合類和集合工具類的封裝
commons-dbcp-1.2.2.jar(1.2.2) 配置
數據庫
用到的工具,如datasource
commons-dbutils-1.2.jar(1.2) 是操做數據庫的組件,對傳統操做數據庫 的類進行二次封裝,能夠把結果集轉化 成List
commons-fileupload-1.2.1.jar(1.2.1) 文件上傳時候的組件
commons-httpclient-3.0.1.jar(3.0.1) http相關操做,如HttpURLConnection的操做
commons-io-1.4.jar(1.4) io包
commons-lang-2.3.jar(2.3) 基礎工具包,封裝一些經常使用的基礎操 做,例如StringUtils類
commons-logging.jar 日誌包
commons-pool-1.3.jar(1.3) 鏈接池相關的包,基本跟數據源等相關數據庫的操做一塊兒
25.ssh框架的層次
表示層
業務邏輯層P
域模塊層(實體層)
數據持久化層
Struts
做爲系統的
總體基礎
架構
,負責MVC的分離,在Struts框架的模型部分,控制業務跳轉,利用Hibernate框架對持久層提供支持
。
Spring
一方面做爲一個輕量級的
IoC
容器,
負責查找、定位、建立和管理對象及對象之間的依賴關係
,另外一方面能使
Struts
和
Hibernate
更好地工做。
26.HTML知識點
27.html實現手機的popuwindow
28.爲何實體要implements Serializable
Serializable是一個標識接口,不須要實現它的任何方法,並且它也沒有方法,只是告訴系統實現了我以後能夠被序列化,方便在網絡中傳輸。
29.Ext.Ajax的使用
Ext.Ajax.request({
url: 'Register.aspx',
params: {
oper: 'login',
LoginEmail:Ext.get('LoginEmail').dom.value,
LoginPwd:Ext.get('LoginPwd').dom.value
},
success: function(response, options) {
var
responseArray = Ext.util.JSON.decode(response.responseText);
if(responseArray.success=='true'){
Cookies.set('Allcard_userName', responseArray.user);
Ext.Msg.alert('信息','您已成功登陸!',IsLogin);
}else{
Ext.Msg.alert('失敗','登陸失敗,請確認您的賬號密碼無誤!');
}
}
});
30.easyUI datagrid中添加操做
31. $('#dg').datagrid('clearSelections');//取消選中狀態的行
32.easyUI datagrid中獲取全部選擇數據 並刪除
var res = $('#dg').datagrid('getSelections');
if (res != 0) {
for (var i = 0; i < res.length; i++) {
datalist.push(res[i].id);
}
$.messager.confirm('警告!', '你肯定要刪除'+res.length+'條數據嗎?',function(res){
if(res){
$.ajax({
type : "get",
url : "./deleteuser",
traditional : true,
data : {
ids : datalist
},
success : function(data) {
$.messager.alert('Success', '刪除成功!');
$('#dg').datagrid('reload'); //刷新數據
},
error : function() {
$.messager.alert('Error', '刪除失敗!');
}
});
}else{
//取消選擇行
$('#dg').datagrid('clearSelections');
console.info('取消');
}
})
} else {
$.messager.alert('提示','請選擇要刪除的內容');
//alert("請選擇要刪除的內容");
}
33.****css屬性*******
overflow 屬性規定當內容溢出元素框時發生的事情
34*****css屬性********
text-overflow 屬性規定當文本溢出包含元素時發生的事情。
35.去掉table中td之間的間隔 明顯第一種要好一點
(1).
(2).
36.JSP頁面導出數據到Exce
數據格式爲:
//導出Excel
function JSONToExcelConvertor(rows) {
//標題
var titles = [];
titles= ["Femto編碼","建立時間","安裝地址","設備型號","網絡類型","用戶投訴號碼","領用分公司","聯繫人姓名","聯繫電話","單獨定性","工單重要性","關聯工單","設備狀態","FEMTO本小區PSC和CI","備註"];
var excel = '<table>';
// 設置表頭
var row = "<tr>";
for (var i = 0, l = titles.length; i < l; i++) {
row += "<td><font face='宋體' size='4'><strong>" + titles[i] + '</strong></font></td>';
}
// 換行
excel += row + "</tr>";
//設置數據
var data = '';
for(var j = 0; j < rows.length; j++){
data +=
"<tr><td>"+rows[j].femto_no+"</td>\n" +
"<td>"+rows[j].create_time+"</td>\n" +
"<td>"+rows[j].address+"</td>\n" +
"<td>"+rows[j].femto_type+"</td>\n" +
"<td>"+rows[j].internet_type+"</td>\n" +
"<td>"+rows[j].complaints_phone+"</td>\n" +
"<td>"+rows[j].received_company+"</td>\n" +
"<td>"+rows[j].received_peopleName+"</td>\n" +
"<td>"+rows[j].phone+"</td>\n" +
"<td>"+rows[j].order_type+"</td>\n" +
"<td>"+rows[j].order_importance+"</td>\n" +
"<td>"+rows[j].order_no+"</td>\n" +
"<td>"+rows[j].femto_status+"</td>\n" +
"<td>"+rows[j].femto_psc_ci+"</td>\n" +
"<td>"+rows[j].femto_note+"</td></tr>";
}
excel += data;
excel += "</table>";
var excelFile = "<html xmlns:o='urn:schemas-microsoft-com:office:office' xmlns:x='urn:schemas-microsoft-com:office:excel' xmlns='http://www.w3.org/TR/REC-html40'>";
excelFile += '<meta http-equiv="content-type" content="application/vnd.ms-excel; charset=UTF-8">';
excelFile += '<meta http-equiv="content-type" content="application/vnd.ms-excel';
excelFile += '; charset=UTF-8">';
excelFile += "<head>";
excelFile += "<!--[if gte mso 9]>";
excelFile += "<xml>";
excelFile += "<x:ExcelWorkbook>";
excelFile += "<x:ExcelWorksheets>";
excelFile += "<x:ExcelWorksheet>";
excelFile += "<x:Name>";
excelFile += "{worksheet}";
excelFile += "</x:Name>";
excelFile += "<x:WorksheetOptions>";
excelFile += "<x:DisplayGridlines/>";
excelFile += "</x:WorksheetOptions>";
excelFile += "</x:ExcelWorksheet>";
excelFile += "</x:ExcelWorksheets>";
excelFile += "</x:ExcelWorkbook>";
excelFile += "</xml>";
excelFile += "<![endif]-->";
excelFile += "</head>";
excelFile += "<body>";
excelFile += excel;
excelFile += "</body>";
excelFile += "</html>";
var url = 'data:application/vnd.ms-excel;charset=utf-8,'
+ encodeURIComponent(excelFile);
var link = document.createElement("a");
link.href = url;
link.style = "visibility:hidden";
link.download ="Femto導出數據" + ".xls";
document.body.appendChild(link);
link.click();
document.body.removeChild(link);
}
37.jquery mobile中將footer固定在底部
添加data-position="fixed"屬性便可
38.選擇器
$('form[name=upload] input');
$('span.hl').css('backgroundColor', '#fffceb').css('color', '#d85030');
子選擇器(Child Selector)
子選擇器
$('parent>child')相似層級選擇器,可是限定了層級關係必須是父子關係,就是
<child>節點必須是
<parent>節點的直屬子節點。仍是以上面的例子:
$('ul.lang>li.lang-javascript'); // 能夠選出[<li class="lang-javascript">JavaScript</li>] $('div.testing>li.lang-javascript'); // [], 沒法選出,由於<div>和<li>不構成父子關係
$('div:visible'); // 全部可見的div $('div:hidden'); // 全部隱藏的div
---------------------------------------------------------------
var ul = $('ul.lang'); // 得到<ul> var dy = ul.find('.dy'); // 得到JavaScript, Python, Scheme var swf = ul.find('#swift'); // 得到Swift var hsk = ul.find('[name=haskell]'); // 得到Haskell
對於位於同一層級的節點,能夠經過
next()和
prev()方法,例如:
當咱們已經拿到
Swift節點後:
var swift = $('#swift') swift.next(); // Scheme swift.next('[name=haskell]'); // Haskell,由於Haskell是後續第一個符合選擇器條件的節點 swift.prev(); // Python swift.prev('.js'); // JavaScript,由於JavaScript是往前第一個符合選擇器條件的節點
map()
方法把一個jQuery對象包含的若干DOM節點轉化爲其餘對象:
var langs = $('ul.lang li'); // 拿到JavaScript, Python, Swift, Scheme和Haskell var arr = langs.map(function () { return this.innerHTML; }).get(); // 用get()拿到包含string的Array:['JavaScript', 'Python', 'Swift', 'Scheme', 'Haskell'] -------------------------------------------------------------------------------
on
方法用來綁定一個事件,咱們須要傳入事件名稱和對應的處理函數。
var a = $('#test-link'); a.on('click', function () { alert('Hello!'); });
jQuery可以綁定的事件主要包括:
鼠標事件
click: 鼠標單擊時觸發;
dblclick:鼠標雙擊時觸發;
mouseenter:鼠標進入時觸發;
mouseleave:鼠標移出時觸發;
mousemove:鼠標在DOM內部移動時觸發;
hover:鼠標進入和退出時觸發兩個函數,至關於mouseenter加上mouseleave。
鍵盤事件
鍵盤事件僅做用在當前焦點的DOM上,一般是
<input>和
<textarea>。
keydown:鍵盤按下時觸發;
keyup:鍵盤松開時觸發;
keypress:按一次鍵後觸發。
其餘事件
focus:當DOM得到焦點時觸發;
blur:當DOM失去焦點時觸發;
change:當
<input>、
<select>或
<textarea>的內容改變時觸發;
submit:當
<form>提交時觸發;
ready:當頁面被載入而且DOM樹完成初始化後觸發。
-----------------------------------------------------------------------
自定義動畫
若是上述動畫效果還不能知足你的要求,那就祭出最後大招:
animate(),它能夠實現任意動畫效果,咱們須要傳入的參數就是DOM元素最終的CSS狀態和時間,jQuery在時間段內不斷調整CSS直到達到咱們設定的值:
var div = $('#test-animate'); div.animate({ opacity: 0.25, width: '256px', height: '256px' }, 3000); // 在3秒鐘內CSS過渡到設定值
animate()
還能夠再傳入一個函數,當動畫結束時,該函數將被調用:
var div = $('#test-animate'); div.animate({ opacity: 0.25, width: '256px', height: '256px' }, 3000,
function ()
{ console.log('動畫已結束'); // 恢復至初始狀態: $(this).css('opacity', '1.0').css('width', '128px').css('height', '128px'); });
串行動畫
jQuery的動畫效果還能夠串行執行,經過
delay()方法還能夠實現暫停,這樣,咱們能夠實現更復雜的動畫效果,而代碼卻至關簡單:
var div = $('#test-animates'); // 動畫效果:slideDown - 暫停 - 放大 - 暫停 - 縮小 div.slideDown(2000) .delay(1000) .animate({ width: '256px', height: '256px' }, 2000) .delay(1000) .animate({ width: '128px', height: '128px' }, 2000); } </script>
span中放圖片
39.自定義屬性
<p id="test_p" myarr="rayArr"></p>
//獲取自定義的屬性
var arrt = $('#test_p').attr('myarr');
alert(arrt);
//循環獲取
$('.mui-bar-tab span:nth-child(odd)').each(function(){
var myatr = $(this).attr('myatrr');
alert(myatr);
});
40.CSS3的動畫
CSS3動畫的屬性主要分爲三類:transform、transition以及animation。
transform:
rotate:transform: rotate(x);
scale:transform: scale(a); 元素x和y方向均縮放a倍
transform: scale(a, b); 元素x方向縮放a倍,y方向縮放b倍
transform: scaleX(a); 元素x方向縮放a倍,y方向不變
transform: scaleY(b); 元素y方向縮放b倍,x方向不變
translate
設置元素的位移,用法爲:
transform: translate(a, b); 元素x方向位移a,y方向位移b
transform: translateX(a); 元素x方向位移a,y方向不變
transform: translateY(b); 元素y方向位移b,x方向不變
skew
設置元素傾斜的角度,用法包括:
transform: skew(a, b); 元素x方向逆時針傾斜角度a,y方向順時針傾斜角度b
transform: skewX(a); 元素x方向逆時針傾斜角度a,y方向不變
transform: skewY(b); 元素y方向順時針傾斜角度b,想方向不變
以上的參數均必須是以deg結尾的角度數或0,可爲負數表示反向。
41.spring mvc攔截器
1.
2.
3.
42.加載easyui 中datagrid加載數據出錯解決
function showDailyReport(){
$('#showDailyReportForm').form('submit', {
url:"./showDailyReport",
onSubmit: function(){
// do some check
// return false to prevent submit;
},
success:function(data){
alert(data);
$('#dailyreportdg').datagrid('loadData',data);
}
});
}
TypeError: rows is undefined
43.CSS3動畫屬性
44.block,inline和inlinke-block細節對比
- block元素會獨佔一行,多個block元素會各自新起一行。默認狀況下,block元素寬度自動填滿其父元素寬度。
- block元素能夠設置width,height屬性。塊級元素即便設置了寬度,仍然是獨佔一行。
- block元素能夠設置margin和padding屬性。
- inline元素不會獨佔一行,多個相鄰的行內元素會排列在同一行裏,直到一行排列不下,纔會新換一行,其寬度隨元素的內容而變化。
- inline元素設置width,height屬性無效。
- inline元素的margin和padding屬性,水平方向的padding-left, padding-right, margin-left, margin-right都產生邊距效果;但豎直方向的padding-top, padding-bottom, margin-top, margin-bottom不會產生邊距效果。
- 簡單來講就是將對象呈現爲inline對象,可是對象的內容做爲block對象呈現。以後的內聯對象會被排列在同一行內。好比咱們能夠給一個link(a元素)inline-block屬性值,使其既具備block的寬度高度特性又具備inline的同行特性。
補充說明
- 通常咱們會用display:block,display:inline或者display:inline-block來調整元素的佈局級別,其實display的參數遠遠不止這三種,僅僅是比較經常使用而已。
- IE(低版本IE)原本是不支持inline-block的,因此在IE中對內聯元素使用display:inline-block,理論上IE是不識別的,但使用display:inline-block在IE下會觸發layout,從而使內聯元素擁有了display:inline-block屬性的表象。
45.synchronized關鍵字的用法?
能夠用synchronized(對象) { … }定義同步代碼塊,或者在聲明方法時將synchronized做爲方法的修飾符
1.
2.
3.
45.JavaScript對象的原型圖
46.js中將毫秒時間轉換成對應日期時間
var unixTimestamp =
new Date( 1477386005*1000 ) ; commonTime = unixTimestamp.toLocaleString();
Date.prototype.toLocaleString = function() {
return this.getFullYear() + "/" + (this.getMonth() + 1) + "/" + this.getDate() + "/ " + this.getHours() + ":" + this.getMinutes() + ":" + this.getSeconds();
};
47.點擊按鈕內容變化
$('#toggleLayer').click(function(event) {
$(this).html(str = $(this).html() == '打開' ? '收起' : '打開');
$('.productListCont').stop().slideToggle();
});
48.自定義dailog彈窗框
css:
<style type="text/css">
.outdiv{
position: absolute;
left:0;
top:0;
width: 100%;
height: 100%;
opacity: 0.5;
background-color: #000;
}
.bg_div{
position: absolute;
left: 0;
top: 0;
text-align: center;
width: 100%;
}
.content{
margin-left: 15%;
width: 70%;
margin-top: 15%;
background: #fff;
}
</style>
html:代碼
<!--自定義dialog彈窗-->
<div style="display: none;">
<div class="outdiv"></div>
<div class="bg_div">
內容區域
</div>
</div>
</div>
<!--自定義dialog彈窗-->
49.html中打開一個新的頁面
1.在同當前窗口中打開窗口
<a href="http://www.baidu.com" title="baidu">baidu</a>
等效js代碼
window.location.href="http://www.baidu.com";
2.在另外新建窗口中打開窗口
<a href="http://http://www.baidu.com" title="baidu" target="_blank">baidu</a>
等效於js代碼
window.open("http://http://www.baidu.com");
完整的
window.open('${ctx}/iserve/predealGuide/toMainPage.do', "_blank");
50.JS中模糊匹配功能
function ZFunction() {
// 聲明變量
var input, filter, table, tr, td, i;
input = document.getElementById("Z_addr");
filter = input.value.toUpperCase();
table = document.getElementById("zx_table");
tr = table.getElementsByTagName("tr");
// 循環表格每一行,查找匹配項
// var str= tr[2].getElementsByTagName("td")[1].innerHTML;
for (i = 0; i < tr.length; i++) {
td = tr[i].getElementsByTagName("td")[1];
if (td) {
if (td.innerHTML.toUpperCase().indexOf(filter) > -1) {
tr[i].style.display = "";
} else {
tr[i].style.display = "none";
}
}
}
}
//------------------------------
$('#areaSelect').attr("disabled",true);
$('#areaSelect').attr("disabled","disabled");
如下三種方法是移除(去除)掉input的disabled屬性的方法:
//三種方法移除disabled屬性
$('#areaSelect').attr("disabled",false);
$('#areaSelect').removeAttr("disabled");
$('#areaSelect').attr("disabled","");
51.socke接口調用 方式
52.java代碼時間轉換
new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date())
53.select控件下拉監聽事件
/*//若查詢選擇的業務關鍵字是裝機地址,則彈出查詢窗口
$('#busiKey').easyDropDown({
onChange:function(selected){
if(selected.value==5){//選擇一網通
clearPage();
$('#busiCode').val('');
}
// if(selected.value==4){
// var accountCode=window.showModalDialog('querySrvCodeByAddr.do', '',"scroll:no;resizable:yes;Minimize:no;Maximize:yes;dialogHeight:700px;dialogWidth:1024px;");
// if(accountCode){
// $('#busiKey').easyDropDown('select','3');
// $('#busiCode').val(accountCode);
// }
// }
}
});*/
54.雜記一波
if(parseInt($(window).width())<=940)
55.序號,縮放
#span_num{
margin-right: -20px;
margin-left: 10px;
border: 3px solid #1FCFC3;
padding-left: 15px;
padding-right: 15px;
border-radius: 20px;
font-size: 12px;
font-family: "微軟雅黑";
box-shadow: 1px 2px 6px #1FCFC3;
transform:scale(0.83,0.83);
-webkit-transform:scale(0.83,0.83);
-moz-transform:scale(0.83,0.83);
}