一些开发中的使用小笔记!~
来源:互联网 发布:mac禁止软件开机启动 编辑:程序博客网 时间:2024/05/16 03:44
1 JDK自带的实用工具——native2ascii.exe
native2ascii.exe
例子:
我们 -> /u6211/u4eec
如果倒过来的话用native2ascii.exe -reverse
例子:
/u6211/u4eec -> 我们
2. js动态添加一个DIV后,设置属性和方法如下:
var closeDiv = document.createElement("div");
closeDiv.id = "closetDiv"+i;
closeDiv.style.cursor = "pointer";
closeDiv.style.background="#CCC";
closeDiv.innerHTML = "关 闭";
closeDiv.onclick = function(){this.parentNode.style.display='none'};
3.广告浮动,随浏览器滚动条滚动的浮动广告代码(IE6 IE7 火狐都支持)
setInterval(mymovemenu, 1);
function mymovemenu()
{
var allDiv = document.getElementsByTagName("div");
for ( var i = 0; i < allDiv.length; i++)
{
// 如果是浮动块
var divId = allDiv[i].id;
if (divId.indexOf("scroll") != -1)
{
var top = divId.split("_");
//var top = parseInt(divId.slice(7));
document.getElementById(allDiv[i].id).style.top = myScrollTop()+ parseInt(top[1]) + "px";
//sdocument.getElementById(allDiv[i].id).style.right = 300 + 'px';
}
}
}
var myScrollTop = function() // 获得当前窗口显示区顶点位置
{
return document.documentElement.scrollTop ? document.documentElement.scrollTop
: document.body.scrollTop;
};
说明:原理就是不断进行监视浏览器,用setInterval()函数来实现,然后将浏览器滚动的高度+广告滚动条自身的高度这样就实现了跟随滚动啦。。。。。
4. 广告飘动,代码是别人,拿来直接用拉,有机会再研究吧。
function mysliderpadmenu()
{
var allDiv = document.getElementsByTagName("div");
for ( var i = 0; i < allDiv.length; i++)
{
// 如果是浮动块
if (allDiv[i].id.indexOf("sliderpad") != -1)
{
// 直接通过id绑定就可以了
var tt = new AdMove(allDiv[i].id);
tt.Run();
}
}
}
function addEvent(obj, evtType, func, cap)
{
cap = cap || false;
if (obj.addEventListener)
{
obj.addEventListener(evtType, func, cap);
return true;
}
else if (obj.attachEvent)
{
if (cap)
{
obj.setCapture();
return true;
}
else
{
return obj.attachEvent("on" + evtType, func);
}
}
else
{
return false;
}
}
function getPageScroll()
{
var xScroll, yScroll;
if (self.pageXOffset)
{
xScroll = self.pageXOffset;
}
else if (document.documentElement && document.documentElement.scrollLeft)
{
xScroll = document.documentElement.scrollLeft;
}
else if (document.body)
{
xScroll = document.body.scrollLeft;
}
if (self.pageYOffset)
{
yScroll = self.pageYOffset;
}
else if (document.documentElement && document.documentElement.scrollTop)
{
yScroll = document.documentElement.scrollTop;
}
else if (document.body)
{
yScroll = document.body.scrollTop;
}
arrayPageScroll = new Array(xScroll, yScroll);
return arrayPageScroll;
}
function GetPageSize()
{
var xScroll, yScroll;
if (window.innerHeight && window.scrollMaxY)
{
xScroll = document.body.scrollWidth;
yScroll = window.innerHeight + window.scrollMaxY;
}
else if (document.body.scrollHeight > document.body.offsetHeight)
{
xScroll = document.body.scrollWidth;
yScroll = document.body.scrollHeight;
}
else
{
xScroll = document.body.offsetWidth;
yScroll = document.body.offsetHeight;
}
var windowWidth, windowHeight;
if (self.innerHeight)
{
windowWidth = self.innerWidth;
windowHeight = self.innerHeight;
}
else if (document.documentElement && document.documentElement.clientHeight)
{
windowWidth = document.documentElement.clientWidth;
windowHeight = document.documentElement.clientHeight;
}
else if (document.body)
{
windowWidth = document.body.clientWidth;
windowHeight = document.body.clientHeight;
}
if (yScroll < windowHeight)
{
pageHeight = windowHeight;
}
else
{
pageHeight = yScroll;
}
if (xScroll < windowWidth)
{
pageWidth = windowWidth;
}
else
{
pageWidth = xScroll;
}
arrayPageSize = new Array(pageWidth, pageHeight, windowWidth, windowHeight)
return arrayPageSize;
}
var AdMoveConfig = new Object();
AdMoveConfig.IsInitialized = false;
AdMoveConfig.ScrollX = 0;
AdMoveConfig.ScrollY = 0;
AdMoveConfig.MoveWidth = 0;
AdMoveConfig.MoveHeight = 0;
AdMoveConfig.Resize = function()
{
var winsize = GetPageSize();
AdMoveConfig.MoveWidth = winsize[2];
AdMoveConfig.MoveHeight = winsize[3];
AdMoveConfig.Scroll();
}
AdMoveConfig.Scroll = function()
{
var winscroll = getPageScroll();
AdMoveConfig.ScrollX = winscroll[0];
AdMoveConfig.ScrollY = winscroll[1];
}
addEvent(window, "resize", AdMoveConfig.Resize);
addEvent(window, "scroll", AdMoveConfig.Scroll);
function AdMove(id)
{
if (!AdMoveConfig.IsInitialized)
{
AdMoveConfig.Resize();
AdMoveConfig.IsInitialized = true;
}
var obj = document.getElementById(id);
obj.style.position = "absolute";
var W = AdMoveConfig.MoveWidth - obj.offsetWidth;
var H = AdMoveConfig.MoveHeight - obj.offsetHeight;
var x = W * Math.random(), y = H * Math.random();
var rad = (Math.random() + 1) * Math.PI / 6;
var kx = Math.sin(rad), ky = Math.cos(rad);
var dirx = (Math.random() < 0.5 ? 1 : -1), diry = (Math.random() < 0.5 ? 1 : -1);
var step = 1;
var interval;
this.SetLocation = function(vx, vy)
{
x = vx;
y = vy;
}
this.SetDirection = function(vx, vy)
{
dirx = vx;
diry = vy;
}
obj.CustomMethod = function()
{
obj.style.left = (x + AdMoveConfig.ScrollX) + "px";
obj.style.top = (y + AdMoveConfig.ScrollY) + "px";
rad = (Math.random() + 1) * Math.PI / 6;
W = AdMoveConfig.MoveWidth - obj.offsetWidth;
H = AdMoveConfig.MoveHeight - obj.offsetHeight;
x = x + step * kx * dirx;
if (x < 0)
{
dirx = 1;
x = 0;
kx = Math.sin(rad);
ky = Math.cos(rad);
}
if (x > W)
{
dirx = -1;
x = W;
kx = Math.sin(rad);
ky = Math.cos(rad);
}
y = y + step * ky * diry;
if (y < 0)
{
diry = 1;
y = 0;
kx = Math.sin(rad);
ky = Math.cos(rad);
}
if (y > H)
{
diry = -1;
y = H;
kx = Math.sin(rad);
ky = Math.cos(rad);
}
}
this.Run = function()
{
var delay = 1;
interval = setInterval(obj.CustomMethod, delay);
obj.onmouseover = function()
{
clearInterval(interval);
}
obj.onmouseout = function()
{
interval = setInterval(obj.CustomMethod, delay);
}
}
}
4 随机创建一个文件的代码
public static String generateFileName(String fileName)
{
// 获得当前时间
DateFormat format = new SimpleDateFormat("yyMMddhmmss");
// 转换为字符串
String formatDate = format.format(new Date());
System.out.println("formatDate="+formatDate);
// 随机生成文件编号
int random = new Random().nextInt(1000);
System.out.println("random="+random);
// 获得文件后缀名称
int position = fileName.lastIndexOf(".");
String extension = fileName.substring(position);
// 组成一个新的文件名
String newFileName = formatDate + random + extension;
return newFileName;
}
结果:
formatDate=101216112108
random=657
101216112108657.txt
原理:获取系统日期然后加一个随机数,最后加上文件名即可
5 关于JS设置readonly属性
// jquery设置readonly
$('input').attr("readonly","readonly")//将input元素设置为readonly
$('input').removeAttr("readonly"); //去除input元素的readonly属性
// 不同js设置readonly
document.getElementById("address").readOnly = "readonly";
注意这里是readOnly ,不似乎readonly,如果设置成readonly,会提示没有这个属性,所以怎么设置都没用!!~
6 关于动态导入JS文件的问题:
动态导入JS代码:
var script = document.createElement("script");script.type= "text/javascript";var href = window.location.href;script.src= "js/sliderpad.js";script.src= ../../js/sliderpad.js";document.getElementsByTagName('head')[0].appendChild(script);
动态导入完js文件后不能立即使用其中的js方法,因为那个时候该方法可能还没有加载完,所以必须定时去检查改js文件是否已经加载完成,
然后才能调用其方法。
function dofill(){ if(typeof(initalSlierpad)=='function')//判断要加载的js文件中的方法是否存在 { initalSlierpad(); }else setTimeout("dofill()",200); //如果方法不存在,过200毫秒后再调用}
7 关于自动回车提交的问题
一般规则如下:
- 如果表单里有一个type=”submit”的按钮,回车键生效。
- 如果表单里只有一个type=”text”的input,不管按钮是什么type,回车键生效。
- 如果按钮不是用input,而是用button,并且没有加type,IE下默认为type=button,FX默认为type=submit。
- 其他表单元素如textarea、select不影响,radio checkbox不影响触发规则,但本身在FX下会响应回车键,在IE下不响应。
- type=”image”的input,效果等同于type=”submit”,不知道为什么会设计这样一种type,不推荐使用,应该用CSS添加背景图合适些。
比如说:
<s:form>
...
...
...
<input type="image".....>
</s:form>
这样的会自动提交,比如这个里面是关键字搜索功能。
又比如说:
<s:form>
<input type="text" ...>
<input type="button"...>
</s:form>
这样按照规则2会有自动提交,如果不要回车提交,一般可以再加个<input type="text" style="display:none">隐藏文本,这样回车失效。或者捕捉onkeydown的回车事件,例如
var event = e || window.event;
var keyCode = event.keyCode;
if(keyCode == 13){
goToPage(obj.value, totalNum);
if (event.preventDefault) { //禁用默认事件
event.preventDefault();
} else {
event.returnValue = false;
}
}
这样就是自己将默认事件失效,上面的代码还有个小技巧,因为火狐没有window.event,所以如果要考虑兼容性,需要将event传入函数,
goHandler(this, ${pageHelp.pageCount}, event);就想这样,这样IE火狐都可以用了。
- 一些开发中的使用小笔记!~
- lua开发中的一些小笔记(持续更新)
- 开发中的一些小细节
- iOS开发:开发中的一些小技巧
- OpenCV开发中的一些笔记
- .NET开发中的一些小技巧
- .NET开发中的一些小技巧
- .NET开发中的一些小技巧
- .NET开发中的一些小技巧
- NET开发中的一些小技巧
- .NET开发中的一些小技巧
- .NET开发中的一些小技巧
- .NET开发中的一些小技巧
- .NET开发中的一些小技巧
- NET开发中的一些小技巧
- .NET开发中的一些小技巧
- NET开发中的一些小技巧
- .NET开发中的一些小技巧
- 如何查看INFORMIX数据库的字符集呀
- 实现连乘的语句
- java I/O操作
- xen磁盘转换成virtual box格式
- Enterprise Library 5.0
- 一些开发中的使用小笔记!~
- 動態調用子數據窗口
- 关于PHP出现Too many connections 的问题
- xen虚拟windows使用vnc桌面鼠标位置偏移现象的解决
- Google Visualization API 与在线数据分析
- 沃尔什-哈达玛变换
- java FileIO类
- 读取.csv文件数据
- 一些感兴趣的csdn网址