传说有一种语言可以使死板的网页生动起来,传说有一种语言隐藏在华丽的网页后面,传说这种语言叫做JavaScript...
(哪来这么多废话!?)
(为了不被大家追杀,省去胡扯15643字)
前一段时间由于一个项目,有用到JavaScript编写很有趣的一些东西,相如信息验证,鼠标互动等,因为现在网络是很发达的,所以遇到了问题,一般都是去Goole上面百度一下,然后使用Ctrl+C,Ctrl+V绝招,但是你会发现很多时候绝招后的代码在页面状态栏很容易出“网页上有错误”的字样,接下来有可能你会再去找另外的代码,但是往往得到的结果还是“网页上有错误”,在这样的情况下,毛爷爷教导过我们,“自己动手丰衣足食”。
好吧我承认我也不是很精通,好吧我承认我也用了“绝招”,我也是为了以后用着方便,省去了每次都去Goole上面百度一下的时间,子曾经曰过,“时间就是金钱”,那么大家就开始抢金钱吧。
事件源对象
event.srcElement.tagName
event.srcElement.type
捕获释放
event.srcElement.setCapture();
event.srcElement.releaseCapture();
事件按键
event.keyCode
event.shiftKey
event.altKey
event.ctrlKey
事件返回值
event.returnValue
鼠标位置
event.x
event.y
窗体活动元素
document.activeElement
绑定事件
document.captureEvents(Event.KEYDOWN);
访问窗体元素
document.all("txt").focus();
document.all("txt").select();
窗体命令
document.execCommand
窗体COOKIE
document.cookie
菜单事件
document.oncontextmenu
创建元素
document.createElement("SPAN");
根据鼠标获得元素:
document.elementFromPoint(event.x,event.y).tagName=="TD
document.elementFromPoint(event.x,event.y).appendChild(ms)
窗体图片
document.images[索引]
窗体事件绑定
document.onmousedown=scrollwindow;
元素
document.窗体.elements[索引]
对象绑定事件
document.all.xxx.detachEvent('onclick',a);
插件数目
navigator.plugins
取变量类型
typeof($js_libpath) == "undefined"
下拉框
下拉框.options[索引]
下拉框.options.length
查找对象
document.getElementsByName("r1");
document.getElementById(id);
定时
timer=setInterval('scrollwindow()',delay);
clearInterval(timer);
UNCODE编码
escape() ,unescape
父对象
obj.parentElement(dhtml)
obj.parentNode(dom)
交换表的行
TableID.moveRow(2,1)
替换CSS
document.all.csss.href = "a.css";
并排显示
display:inline
隐藏焦点
hidefocus=true
根据宽度换行
style="word-break:break-all"
自动刷新
<meta HTTP-EQUIV="refresh" CONTENT="8;URL=http://c98.yeah.net">
简单邮件
<a href="mailto:aaa@bbb.com?subject=ccc&body=xxxyyy">
快速转到位置
obj.scrollIntoView(true)
锚
<a name="first">
<a href="#first">anchors</a>
网页传递参数
location.search();
可编辑
obj.contenteditable=true
执行菜单命令
obj.execCommand
双字节字符
/[^\x00-\xff]/
汉字
/[\u4e00-\u9fa5]/
让英文字符串超出表格宽度自动换行
word-wrap: break-word; word-break: break-all;
透明背景
<IFRAME src="1.htm" width=300 height=180 allowtransparency></iframe>
获得style内容
obj.style.cssText
HTML标签
document.documentElement.innerHTML
第一个style标签
document.styleSheets[0]
style标签里的第一个样式
document.styleSheets[0].rules[0]
防止点击空链接时,页面往往重置到页首端。
<a href="BLOCKED SCRIPTfunction()">word</a>
上一网页源
asp:
request.servervariables("HTTP_REFERER")
BLOCKED SCRIPT
document.referrer
释放内存
CollectGarbage();
禁止右键
document.oncontextmenu = function() { return false;}
禁止保存
<noscript><iframe src="*.htm"></iframe></noscript>
禁止选取<body oncontextmenu="return false" ondragstart="return false" onselectstart ="return false" onselect="document.selection.empty()" oncopy="document.selection.empty()" onbeforecopy="return false"onmouseup="document.selection.empty()>
禁止粘贴
<input type=text onpaste="return false">
地址栏图标
<link rel="Shortcut Icon" href="favicon.ico">
favicon.ico 名字最好不变16*16的16色,放虚拟目录根目录下
收藏栏图标
<link rel="Bookmark" href="favicon.ico">
查看源码
<input type=button value=查看网页源代码 onclick="window.location = 'view-source:'+ 'http://www.csdn.net/'">
关闭输入法
<input style="ime-mode:disabled">
自动全选
<input type=text name=text1 value="123" onfocus="this.select()">
ENTER键可以让光标移到下一个输入框
<input onkeydown="if(event.keyCode==13)event.keyCode=9">
文本框的默认值
<input type=text value="123" onfocus="alert(this.defaultValue)">
title换行
obj.title = "123
sdfs "
获得时间所代表的微秒
var n1 = new Date("2004-10-10".replace(/-/g, "\/")).getTime()
窗口是否关闭
win.closed
checkbox扁平
<input type=checkbox style="position: absolute; clip:rect(5px 15px 15px 5px)"><br>
获取选中内容
document.selection.createRange().duplicate().text
自动完成功能
<input type=text autocomplete=on>打开该功能
<input type=text autocomplete=off>关闭该功能
窗口最大化
<body onload="window.resizeTo(window.screen.width - 4,window.screen.height-50);window.moveTo(-4,-4)">
无关闭按钮IE
window.open("aa.htm", "meizz", "fullscreen=7");
统一编码/解码
alert(decodeURIComponent(encodeURIComponent("http://你好.com?as= hehe")))
encodeURIComponent对":"、"/"、";" 和 "?"也编码
表格行指示
<tr onmouseover="this.bgColor='#f0f0f0'" onmouseout="this.bgColor='#ffffff'">
谢谢收看,有待补充....
哈哈,看到题目是不是有点晕?一会儿看了内容你就这地晕倒了!
这次分享关于网页样式,有我在做东西时候碰到的问题总结下来的,也有从别的地方搜集来的,我慢慢写,大家慢慢看!嘿嘿
网页之间的转化都是蹦来蹦去的,想没想过让你做的网页有淡入淡出的效果?
那把下面两行代码放到<hard></hard>标签里面,就会有淡入淡出的效果了!
<meta http-equiv="Page-Enter" Content="blendTrans(Duration=0.5)">
<meta http-equiv="Page-Exit" Content="blendTrans(Duration=0.5)">
刚开始用有种网速变慢了的错觉,还有的人说看着晕,自己看着办吧
禁止右键并人性化提示
<script>
function stop()
{alert('*^_^* 欢迎来小白的博客');
return false;
}document.oncontextmenu=stop;
</script>
再来几个比较好玩的吧
随便打开个网页,加载完成后,把下面的代码copy到地址栏再回车看效果
修改网页,你可以随便对打开的页面进行排版了,弄乱了怎么办?放心从新请求页面就好了,嘿嘿
javascript:document.body.contentEditable='true'; document.designMode='on'; void 0
退出修改
javascript:document.body.contentEditable='false'; void 0
页面内图片跳舞
javascript:R=0; x1=.1; y1=.05; x2=.25; y2=.24; x3=1.6; y3=.24; x4=300; y4=200; x5=300; y5=200; DI=document.images; DIL=DI.length; function A(){for(i=0; i-DIL; i++){DIS=DI[ i ].style; DIS.position='absolute'; DIS.left=Math.sin(R*x1+i*x2+x3)*x4+x5; DIS.top=Math.cos(R*y1+i*y2+y3)*y4+y5}R++}setInterval('A()',5); void(0);
不知道怎样带颜色复制过来,把下面的复制到查询分析器中就能看到效果,例子更改相关的值就可以用
--SQL常用命令
--数据的增删改查
--增加数据(插入数据)
insert into [表名]([字段],[字段]..) values(值,值,值..) --按需要字段填写
insert into [表名] values(值,值,值..) --插入全部字段,自动增长列不写
--删除数据(记得有外键先删除主键表里的相应内容)
--删除表里的内容
delete from [表名]
--要是想删某一行就加where条件
delete from [表名] where [字段]=值
--修改数据(更新数据)
--修改整个表内的数据
update [表名] set [字段]=值
--要是想修改某一行就加where条件
update [表名] set [字段1]=值1 where [字段2]=值2
--查询
select [字段],[字段] from [表名]
--条件查询
select [字段],[字段] from [表名] where [字段]=值
--升降序(一般加在查询语句末尾)
--升序(默认)
order by [字段] asc
--降序
order by [字段] desc
--例子
select [字段],[字段] from [表名] order by [字段] desc
--设置使用的数据库
use [数据库名]
--建立命令
--建立数据库
create database [数据库名]
on
(--数据库信息
NAME='aaa', --逻辑名称aaa
FILENAME='d:\bbb.mdf', --物理名称bbb(写全路径)
SIZE=5mb, --数据库初始大小
MAXSIZE=100mb, --增长的最大值
FILEGROWTH=15%, --增长率
)
log on
(--日志信息
NAME='aaa', --逻辑名称aaa
FILENAME='d:\bbb.ldf', --物理名称bbb(写全路径)
SIZE=2mb, --数据库初始大小
FILEGROWTH=1mb, --增长率
)
--建立表
create table [表名]
(
--[字段] [数据类型] [列的特征],
id int identity(1,1) not null,--identity(1,1) 是自动增长(起始值,递增值) ,not null 是不许为空(默认允许为空)
name varchar(20) not null,
)
--给表添加约束
alter table [表名]
add constraint [约束名]
--添加主键(pk) PriMary key([字段名])
--唯一约束(uq) Unique ([字段名])
--默认约束(df) default('默认文字') for [字段名]
--检查约束(ck) check([字段名] between 15 and 40) --填写的数字在15-40之间
--外键约束(fk) foreign key([字段名]) references [表名]([字段名])
--删除数据库
--exists检查是否存在
if exists(select * from sysdatabases where name = '[要删除的数据库名]')
drop database [要删除的数据库名]
if exists(select * from sysobjects where name = '[要删除的储存过程名]')
drop database [要删除的储存过程名]
--变量的使用 (声明和使用要一起进行不然会找不到变量)
declare @[变量名] [数据类型]
--如 declare @name varchar(8)
declare @age int
--变量赋值
set @name =值
select @name =值
--例子
--查询信息 查找张三的信息
declare @name varchar(8)
set @name = '张三'
select * from [表名] where [字段] = @name
--赋值查询 查询与张三同龄的人
declare @name varchar(8)
declare @age int
set @name = '张三'
select @age = [字段] from [表名] where [字段]=@name
select * from [表名] where [字段]=@age
--全局变量 (两个@)
@@error 最后一个T-SQL错误的错误号
@@identity 最后一次插入的标识值
@@rowcount 上一个sql语句影响行数
--事务
--开始
begin transaction
--提交
commit transaction
--回滚
rollback transaction
--例子
begin transaction
declare @errorsum int --纪录错误
@errorsum = 0 --初始化没有错误
--SQL语句
set @errorsum=@errorsum+@@error --累计是否出错
--SQL语句
set @errorsum=@errorsum+@@error
--SQL语句
set @errorsum=@errorsum+@@error
if @errorsum <>0 --如果有错
begin
rollback transaction
end
else
begin
commit transaction
end
GO
--储存过程
--建立
create procedure [储存过程名]
as
declare @xx int ,
declare @yy varchar(8) output (带有output为输出参数,否则视为输入参数)
--SQL语句
--SQL语句
--SQL语句
select @yy=值 ...
GO
--调用储存过程
--无参数
exec [储存过程名]
--有参数(顺序不能变,变量在储存过程内部的值为默认值)
exec [储存过程名] @xx=[参数],@yy=[参数]
--有输出参
declare @yy varchar(8)
exec [储存过程名] 值,@yy output
先这么多,有不足的地方或是少了那些就留言,我会尽快答复或完善的!
用C#.net可以连接的数据库有Access,SQL Server,Oracle,还有excel等很多,
C#.net连接不同的数据库有不同的方法,不一样的地方就是导入的命名空间不同,和连接数据库的字符串不同,
首先说下命名空间的导入,大部分数据库在导入了下面的命名空间后就可以了(包括下面提到的SQL Server数据库)
using System.Data.OleDb;
要是使用SQL Server的数据库,C#.net提供了单独的连接方法使其能够更加快的与数据库进行连接,
导入方法如下:
using System.Data.SqlClient;(SQL Server)
再就是连接数据库所需要的连接字符串(就是变量strConnection),它指定了要使用的数据提供者和要使用的数据源.
C#连接连接Access
string strConnection="Provider=Microsoft.Jet.OleDb.4.0;";
strConnection+=@"Data Source=C:\Northwind.mdb";
OleDbConnection objConnection=new OleDbConnection(strConnection);
...
objConnection.Open();
..
objConnection.Close();
" Provider=Microsoft.Jet.OleDb.4.0;"是指数据提供者,这里使用的是Microsoft Jet引擎,也就是Access中的数据引擎,asp.net就是靠这个和Access的数据库连接的.
"Data Source=C: \Northwind.mdb"是指明数据源的位置,他的标准形式是"Data Source=MyDrive:MyPath\MyFile.MDB".
" OleDbConnection objConnection=new OleDbConnection(strConnection);"这一句是利用定义好的连接字符串来建立了一个链接对象,以后对数据库的操作我们都要和这个对象打交道.
"objConnection.Open();"这用来打开连接.至此,与Access数据库的连接完成.
" objConnection.Close();"得到数据或是修改数据后,一定要关闭数据库连接
PS:
1.要注意连接字符串中的参数之间要用分号来分隔.
2.如果要连接的数据库文件和当前文件在同一个目录下,还可以使用如下的方法连接:
strConnection+="Data Source=";
strConnection+=MapPath("Northwind.mdb");
3. "+="后面的"@"符号是防止将后面字符串中的"\"解析为转义字符.
--------------------------------------------------------------------------------
C#连接SQL Server
string strConnection="uid=sa; password=; ";
strConnection+="initial catalog=Northwind;Server=YourSQLServer;";
strConnection+="Connect Timeout=30";
SqlConnection objConnection=new SqlConnection(strConnection);
..
objConnection.Open();
objConnection.Close();
"uid=sa":连接数据库的用户名为sa.
"password=":连接数据库的验证密码为空.他的别名为"pwd",所以我们可以写为"pwd=".
"initial catalog=Northwind":使用的数据源为"Northwind"这个数据库.他的别名为"Database",本句可以写成"Database=Northwind".
"Server=YourSQLServer":使用名为"YourSQLServer"的服务器.他的别名为"Data Source","Address","Addr".
" Connect Timeout=30":连接超时时间为30秒.(根据情况添加)
PS:
1.你的SQL Server必须已经设置了需要用户名和密码来登录,否则不能用这样的方式来登录.如果你的SQL Server设置为Windows登录,那么在这里就不需要使用"uid"和"password"这样的方式来登录,而需要使用"Trusted_Connection=SSPI"来进行登录.
2. 如果使用的是本地数据库且定义了实例名,则可以写为"Server=(local)\实例名";如果是远程服务器,则将"(local)"替换为远程服务器的名称或IP地址.
C#连接连接excel
string path = "c:\book1.xls";
string strConnection = "provider=microsoft.jet.oledb.4.0;data source=" + path + ";extended properties=excel 8.0;";
string sql = "select * from [sheet1$]";
OleDbConnection objConnection = new OleDbConnection(strConnection);
"c:\book1.xls "文件的路径
"provider=microsoft.jet.oledb.4.0"是指数据提供者,这里使用的是Microsoft Jet引擎,也就是excel中的数据引擎,asp.net就是靠这个和excel的数据库连接的.
"data source"是指明数据源的位置
"[sheet1$]" sheet1为excel里标的名称,用法:[name$]