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.&nbsp;问题
<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动画属性
@keyframes 规定动画。 3
animation 所有动画属性的简写属性,除了 animation-play-state 属性。 3
animation-name 规定 @keyframes 动画的名称。 3
animation-duration 规定动画完成一个周期所花费的秒或毫秒。默认是 0。 3
animation-timing-function 规定动画的速度曲线。默认是 "ease"。 3
animation-delay 规定动画何时开始。默认是 0。 3
animation-iteration-count 规定动画被播放的次数。默认是 1。 infinite无线次。 3
animation-direction 规定动画是否在下一周期逆向地播放。默认是 "normal"。 3
animation-play-state 规定动画是否正在运行或暂停。默认是 "running"。  
 
44.block,inline和inlinke-block细节对比
  • display:block
    1. block元素会独占一行,多个block元素会各自新起一行。默认情况下,block元素宽度自动填满其父元素宽度。
    2. block元素可以设置width,height属性。块级元素即使设置了宽度,仍然是独占一行。
    3. block元素可以设置margin和padding属性。
  • display:inline
    1. inline元素不会独占一行,多个相邻的行内元素会排列在同一行里,直到一行排列不下,才会新换一行,其宽度随元素的内容而变化。
    2. inline元素设置width,height属性无效。
    3. inline元素的margin和padding属性,水平方向的padding-left, padding-right, margin-left, margin-right都产生边距效果;但竖直方向的padding-top, padding-bottom, margin-top, margin-bottom不会产生边距效果。
  • display:inline-block
    1. 简单来说就是将对象呈现为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);
}
 

shell脚本小案例的更多相关文章

  1. shell讲解-小案例

    shell讲解-小案例 一.文件拷贝输出检查 下面测试文件拷贝是否正常,如果cp命令并没有拷贝文件myfile到myfile.bak,则打印错误信息.注意错误信息中basename $0打印脚本名.如 ...

  2. shell脚本练习案例

    转至:https://www.cnblogs.com/tui463/archive/2004/01/13/12663024.html shell脚本练习案例 案例一:通过位置变量创建系统账户及密码 分 ...

  3. 100个Linux Shell脚本经典案例(附PDF)

    转载自:https://mp.weixin.qq.com/s/tCKAM67_7K7q2vJthaIsDQ 原文链接:https://wenku.baidu.com/view/4f089430a116 ...

  4. linux运维自动化shell脚本小工具

    linux运维shell 脚本小工具,如要分享此文章,请注明文章出处,以下脚本仅供参考,若放置在服务器上出错,后果请自负 1.检测cpu剩余百分比 #!/bin/bash #Inspect CPU # ...

  5. shell脚本小集锦

    1) 如何向脚本传递参数 ? ./script argument 例子: 显示文件名称脚本 ./show.sh file1.txt cat show.sh #!/bin/bash 2) 如何在脚本中使 ...

  6. shell脚本小实例

    本文收集了一堆的shell脚本技巧,我说过,我写博客主要是作一些学习笔记,方便自己查阅,所以,我会搞出这么一篇文章,也没有什么不可理解的.关于这些技巧的出处,诶,我也忘了,可能来自theunixsch ...

  7. java调用shell脚本小demo

    复制指定文件cpp.sh: [root@localhost soft]# vim cpp.sh#!/bin/bash name="$1"\cp /home/soft/test/${ ...

  8. Linux 【Shell脚本经典案例】

    Shell 简介 hell是linux的一外壳,它包在linux内核的外面,为用户和内核之间的交互提供了一个接口 当用户下达指令给操作系统的时候,实际上是把指令告诉shell,经过shell解释,处理 ...

  9. 制作service服务,shell脚本小例子(来自网络)

    事先准备工作:源码安装apache .安装目录为/usr/local/httpd 任务需求:1.可通过 service httpd start|stop|status|restart 命令对服务进行控 ...

随机推荐

  1. Skylin CityBuilder 6.6.1 提示授权过期解决(License Manager中显示未过期)

    最近工作中使用到Skyline 系列软件,授权一切正常,启动CityBuilder时提示授权过期 运行License Manger之后查看授权状态 ' 一切正常,并没有出现授权过期等情况. 如何解决: ...

  2. mybatis取数据库为null的字段

    数据库中存在int型的字段,但是初始值为null,mybatis取值之后就会报错, org.apache.ibatis.binding.BindingException: Mapper method ...

  3. 异步 HttpContext.Current实现取值的方法(解决异步Application,Session,Cache...等失效的问题)

    在一个项目中,为了系统执行效率更快,把一个经常用到的数据库表通过dataset放到Application中,发现在异步实现中每一次都会出现HttpContext.Current为null的异常,后来在 ...

  4. HTML5技术分享 ES2017继发与并发

    大家都知道,async函数的返回值是 Promise 对象,这比 Generator 函数的返回值是 Iterator 对象方便多了.你可以用then方法指定下一步的操作. 进一步说,async函数完 ...

  5. 《java.util.concurrent 包源码阅读》14 线程池系列之ScheduledThreadPoolExecutor 第一部分

    ScheduledThreadPoolExecutor是ThreadPoolExecutor的子类,同时实现了ScheduledExecutorService接口. public class Sche ...

  6. 多服务器操作利器 - Polysh

    多台服务器下的痛苦人生 分布式架构下的系统,可以说每个服务都是分别部署在多台服务器上的,有的甚至还需要多机房,在这种架构下可以说可以很好的做到了易扩展.容灾等功能.推荐的服务部署为一服务多机器.一机器 ...

  7. docker-compose v3版本命令详解参考

    参考和指南 这些主题描述了Compose文件格式的第3版.这是最新的版本. Compose and Docker 兼容性矩阵 有几个版本的Compose文件格式 - 1,2,2.x和3.x.下表是快速 ...

  8. ShoneSharp语言(S#)的设计和使用介绍系列(1)— 开篇

    ShoneSharp语言(S#)的设计和使用介绍 系列(1)- 开篇 作者:Shone 声明:原创文章欢迎转载,但请注明出处,https://www.cnblogs.com/ShoneSharp. 一 ...

  9. RaspberryPi2B使用bcm2835c库控制GPIO

    RaspberryPi2B使用bcm2835c库控制GPIO 网上有很多RaspberryPi控制GPIO的方法,有Python.WiringPi.bcm2835 C library 使用bcm283 ...

  10. js的学习(window对象的使用)

    open方法: //语法:var winObj = window.open([url][,name][,options]);  //参数:url:准备在新窗口中显示那个文件.url可以为空字符串,表示 ...