js 技巧 (五)

//设置光标位置

function getCaret(textbox) 

var control = document.activeElement; 
textbox.focus(); 
var rang = document.selection.createRange(); 
  rang.setEndPoint("StartToStart",textbox.createTextRange()) 
control.focus(); 
return rang.text.length; 

function setCaret(textbox,pos) 

try 

  var r =textbox.createTextRange(); 
   r.moveStart(‘character‘,pos); 
   r.collapse(true); 
   r.select(); 

catch(e) 
{} 

function selectLength(textbox,start,len) 

try 

  var r =textbox.createTextRange(); 
  
  r.moveEnd(‘character‘,len-(textbox.value.length-start)); 
  r.moveStart(‘character‘,start); 
   
  r.select(); 

catch(e) 
{//alert(e.description)} 

function insertAtCaret(textbox,text) 

textbox.focus(); 
document.selection.createRange().text = text; 
}

//页内查找

function findInPage(str) 

var txt, i, found,n = 0; 
if (str == "") 

  return false; 

txt = document.body.createTextRange(); 
for (i = 0; i <= n && (found = txt.findText(str)) != false; i++) 

  txt.moveStart("character", 1); 
  txt.moveEnd("textedit"); 

if (found) 

  txt.moveStart("character", -1); 
  txt.findText(str); 
  txt.select(); 
  txt.scrollIntoView(); 
  n++;   

else 

  if (n > 0) 
  { 
   n = 0; 
   findInPage(str); 
  } 
  else 
  { 
   alert(str + "...            您要找的文字不存在。"n "n请试着输入页面中的关键字再次查找!"); 
  } 

return false; 
}

//操作EXECL

<script language="javascript"> 
function jStartExcel() { 
var xls = new ActiveXObject ( "Excel.Application" ); 
xls.visible = true; 
var newBook = xls.Workbooks.Add; 
newBook.Worksheets.Add; 
newBook.Worksheets(1).Activate; 
xls.ActiveWorkBook.ActiveSheet.PageSetup.Orientation = 2; 
xls.ActiveWorkBook.ActiveSheet.PageSetup.PaperSize = 5; 
newBook.Worksheets(1).Columns("A").columnwidth=50; 
newBook.Worksheets(1).Columns("A").WrapText = true; 
newBook.Worksheets(1).Columns("B").columnwidth=50; 
newBook.Worksheets(1).Columns("B").WrapText = true; 
newBook.Worksheets(1).Range("A1:B1000").NumberFormat = "0"; 
newBook.Worksheets(1).Range("A1:B1000").HorizontalAlignment = -4131; 
newBook.Worksheets(1).Cells(1,1).Interior.ColorIndex="15"; 
newBook.Worksheets(1).Cells(1,1).value="First Column, First Cell"; 
newBook.Worksheets(1).Cells(2,1).value="First Column, Second Cell"; 
newBook.Worksheets(1).Cells(1,2).value="Second Column, First Cell"; 
newBook.Worksheets(1).Cells(2,2).value="Second Column, Second Cell"; 
newBook.Worksheets(1).Name="My First WorkSheet"; 

</script>

//自定义提示条

<a href="#" title="这是提示">tip</a> 
<script Language="JavaScript"> 
//***********默认设置定义.********************* 
tPopWait=50;//停留tWait豪秒后显示提示。 
tPopShow=5000;//显示tShow豪秒后关闭提示 
showPopStep=20; 
popOpacity=99; 
//***************内部变量定义***************** 
sPop=null; 
curShow=null; 
tFadeOut=null; 
tFadeIn=null; 
tFadeWaiting=null; 
document.write("<style type=‘text/css‘id=‘defaultPopStyle‘>"); 
document.write(".cPopText {  background-color: #F8F8F5;color:#000000; border: 1px #000000 solid;font-color: font-size: 12px; padding-right: 4px; padding-left: 4px; height: 20px; padding-top: 2px; padding-bottom: 2px; filter: Alpha(Opacity=0)}"); 
document.write("</style>"); 
document.write("<div id=‘dypopLayer‘ style=‘position:absolute;z-index:1000;‘ class=‘cPopText‘></div>");

function showPopupText(){ 
var o=event.srcElement; 
MouseX=event.x; 
MouseY=event.y; 
if(o.alt!=null && o.alt!=""){o.dypop=o.alt;o.}; 
        if(o.title!=null && o.title!=""){o.dypop=o.title;o.title=""}; 
if(o.dypop!=sPop) { 
sPop=o.dypop; 
clearTimeout(curShow); 
clearTimeout(tFadeOut); 
clearTimeout(tFadeIn); 
clearTimeout(tFadeWaiting); 
if(sPop==null || sPop=="") { 
dypopLayer.innerHTML=""; 
dypopLayer.style.filter="Alpha()"; 
dypopLayer.filters.Alpha.opacity=0; 

else { 
if(o.dyclass!=null) popStyle=o.dyclass  
else popStyle="cPopText"; 
curShow=setTimeout("showIt()",tPopWait); 



function showIt(){ 
dypopLayer.className=popStyle; 
dypopLayer.innerHTML=sPop; 
popWidth=dypopLayer.clientWidth; 
popHeight=dypopLayer.clientHeight; 
if(MouseX+12+popWidth>document.body.clientWidth) popLeftAdjust=-popWidth-24 
else popLeftAdjust=0; 
if(MouseY+12+popHeight>document.body.clientHeight) popTopAdjust=-popHeight-24 
else popTopAdjust=0; 
dypopLayer.style.left=MouseX+12+document.body.scrollLeft+popLeftAdjust; 
dypopLayer.style.top=MouseY+12+document.body.scrollTop+popTopAdjust; 
dypopLayer.style.filter="Alpha(Opacity=0)"; 
fadeOut(); 

function fadeOut(){ 
if(dypopLayer.filters.Alpha.opacity<popOpacity) { 
dypopLayer.filters.Alpha.opacity+=showPopStep; 
tFadeOut=setTimeout("fadeOut()",1); 

else { 
dypopLayer.filters.Alpha.opacity=popOpacity; 
tFadeWaiting=setTimeout("fadeIn()",tPopShow); 


function fadeIn(){ 
if(dypopLayer.filters.Alpha.opacity>0) { 
dypopLayer.filters.Alpha.opacity-=1; 
tFadeIn=setTimeout("fadeIn()",1); 


document.onmouseover=showPopupText; 
</script>

//插入文字

document.onclick =function(){  
var oSource = window.event.srcElement;  
if(oSource.tagName!="DIV")  
return false;  
var sel = document.selection;  
if (sel!=null) {  
var rng = sel.createRange();  
if (rng!=null)  
rng.pasteHTML("<font color=red>插入文字</font>");  
}  
}

//netscapte下操作xml

doc = new ActiveXObject("Msxml2.DOMDocument"); 
doc = new ActiveXObject("Microsoft.XMLDOM") 
->> 
doc = (new DOMParser()).parseFromString(sXML,‘text/xml‘)

//禁止FSO

1.注销组件 
regsvr32 /u scrrun.dll 
2.修改PROGID  
HKEY_CLASSES_ROOT"Scripting.FileSystemObject 
Scripting.FileSystemObject 
3.对于使用object的用户,修改HKEY_CLASSES_ROOT"Scripting.

//省略号

<DIV STYLE="width: 120px; height: 50px; border: 1px solid blue; 
            overflow: hidden; text-overflow:ellipsis"> 
<NOBR>就是比如有一行文字,很长,表格内一行显示不下.</NOBR> 
</DIV>

//判断键值

<html> 
<meta http-equiv="Content-Type" content="text/html; charset=gb2312"> 
<head> 
<script language="javascript"> 
var ie  =navigator.appName=="Microsoft Internet Explorer"?true:false; 
   
function keyDown(e) 

if(!ie) 

  var nkey=e.which; 
  var iekey=‘现在是ns浏览器‘; 
  var realkey=String.fromCharCode(e.which); 

if(ie) 

  var iekey=event.keyCode; 
  var nkey=‘现在是ie浏览器‘; 
  var realkey=String.fromCharCode(event.keyCode); 
  if(event.keyCode==32){realkey=‘"‘ 空格"‘‘} 
  if(event.keyCode==13){realkey=‘"‘ 回车"‘‘} 
  if(event.keyCode==27){realkey=‘"‘ Esc"‘‘} 
  if(event.keyCode==16){realkey=‘"‘ Shift"‘‘} 
  if(event.keyCode==17){realkey=‘"‘ Ctrl"‘‘} 
  if(event.keyCode==18){realkey=‘"‘ Alt"‘‘} 

alert(‘ns浏览器中键值:‘+nkey+‘"n‘+‘ie浏览器中键值:‘+iekey+‘"n‘+‘实际键为‘+realkey); 

document.onkeydown = keyDown; 
</script> 
</head> 
<body> 
//Javascript Document. 
<hr> 
<center> 
<h3>请按任意一个键。。。。</h3> 
</center> 
</body> 
</html>

//检测media play版本

<IE:clientCaps ID="oClientCaps" /> 
<SCRIPT> 
var flash=""; 
    WMPVersion= oClientCaps.getComponentVersion("{22D6F312-B0F6-11D0-94AB-0080C74C7E95}","ComponentID");  
    if (WMPVersion != "") { 
    flash = ""; 
    var version = WMPVersion.split(","); 
    var i; 
    for (i = 0; i < version.length; i++) { 
      if (i != 0) 
    flash += "."; 
      flash += version; 
    } 
     document.write("您的Windows Media Player 版本是:"+flash+"<p>"); 
  } 
</SCRIPT>

//图象按比例

<script language="JavaScript"> 
<!-- 
//图片按比例缩放 
var flag=false; 
function DrawImage(ImgD){ 
var image=new Image(); 
var iwidth = 80;  //定义允许图片宽度 
var iheight = 80;  //定义允许图片高度 
image.src=ImgD.src; 
if(image.width>0 && image.height>0){ 
flag=true; 
if(image.width/image.height>= iwidth/iheight){ 
  if(image.width>iwidth){   
  ImgD.width=iwidth; 
  ImgD.height=(image.height*iwidth)/image.width; 
  }else{ 
  ImgD.width=image.width;   
  ImgD.height=image.height; 
  } 
  ImgD.alt=image.width+"×"+image.height; 
  } 
else{ 
  if(image.height>iheight){   
  ImgD.height=iheight; 
  ImgD.width=(image.width*iheight)/image.height;   
  }else{ 
  ImgD.width=image.width;   
  ImgD.height=image.height; 
  } 
  ImgD.alt=image.width+"×"+image.height; 
  } 

}  
//--> 
</script> 
<img src=".." onload = "DrawImage(this)">

//细线SELECT

<span > 
<select > 
<option>1111</option> 
<option>11111111111111</option> 
<option>111111111</option> 
</select></span>

//Import

function Import() { 
for( var i=0; i<arguments.length; i++ ) { 
  var file = arguments; 
  if ( file.match(/".js$/i))  
   document.write(‘<script type=""text/javascript"" src=""‘ + file + ‘""></sc‘ + ‘ript>‘); 
  else 
   document.write(‘<style type=""text/css"">@import ""‘ + file + ‘"" ;</style>‘); 

};

//js枚举

function getComputerName() 

var objWMIService = GetObject("Winmgmts:root"cimv2"); 
for(e = new Enumerator(objWMIService) ; !e.atEnd() ; e.moveNext()) 

    var getComputer = e.item(); 
    return getComputer.Name; 

}

//条件编译

<script language=javascript> 
/*@cc_on @*/ 
/*@if (@_win32 && @_jscript_version>5) 
function window.confirm(str) 

    execScript("n = msgbox(‘"+ str +"‘, 257)", "vbscript"); 
    return(n == 1); 

@end @*/ 
</script>

//取得innerText
<SCRIPT LANGUAGE="JavaScript"> 
<!-- 
var xmlDoc = new ActiveXObject("Msxml2.DOMDocument.4.0"); 
var currNode; 
xmlDoc.async = false; 
xmlDoc.async = false; 
xmlDoc.loadXML("<TABLENAME>      你好你阿三    大法     司法等四              </TABLENAME>"); 
currNode = xmlDoc.documentElement; 
    
  var s = currNode.xml; 
  var r = /"<([^">"s]*?)[^">]*?">([^"<]*?)"<"/"1">/ 
  var b = s.replace(r,"$2"); 
  alert(b); 
//--> 
</SCRIPT>

//mergeAttributes 复制所有读/写标签属性到指定元素。

<SCRIPT> 
function fnMerge(){ 
oSource.children[1].mergeAttributes(oSource.children[0]); 

</SCRIPT> 
<SPAN ID=oSource> 
<DIV 
ID="oDiv" 
ATTRIBUTE1="true" 
ATTRIBUTE2="true" 
onclick="alert(‘click‘);" 
onmouseover="this.style.color=‘#0000FF‘;" 
onmouseout="this.style.color=‘#000000‘;" 

This is a sample <B>DIV</B> element. 
</DIV> 
<DIV ID="oDiv2"> 
This is another sample <B>DIV</B> element. 
</DIV> 
</SPAN> 
<INPUT 
TYPE="button" 
VALUE="Merge Attributes" 
onclick="fnMerge()" 
>出处至:http://xiaobingandxiaoer.iteye.com/blog/1917696出处至:http://xiaobingandxiaoer.iteye.com/blog/1917696  出处至:http://xiaobingandxiaoer.iteye.com/blog/1917696

出处至:http://xiaobingandxiaoer.iteye.com/blog/1917696出处至:http://xiaobingandxiaoer.iteye.com/blog/1917696

  出处至:http://xiaobingandxiaoer.iteye.com/blog/1917696出处至:http://xiaobingandxiaoer.iteye.com/blog/1917696

时间: 2024-08-10 17:20:11

js 技巧 (五)的相关文章

HTML5+JS 《五子飞》游戏实现(五)移动棋子

上一章 我们知道了怎么处理两个重要的吃棋动作,想要吃对方的棋子,首先得移动自己的棋子.现在里沃特跟大家分享分享,怎么移动棋子. 想要移动棋子,在页面上,首先要点击一下要移动的棋子,然后再点击一下目标位置,如果可以移动,则把棋子移动的目标位置,原来的位置就要清空. 上面这句话,我们要分两步来处理:1.判断目标是否可移动:2.可以移动则移动棋子. 1.判断目标是否可移动. 首先移动时只能按直线,其次目标位置与原始位置之间不能有其他棋子: // 是否可移动 this.canMove = functio

HTML5+JS 《五子飞》游戏实现(八)人机对战

要想实现人机对战,就必须让电脑自动下棋,而且要知道自动去查找对方的棋子,看看有没有可以挑一对的,有没有可以夹一个的,这样下起来才有意思. 当电脑用户下完棋后,电脑应立即搜索用户的棋子,然后如果没有被吃的,就再随机走一个棋子(要想让电脑成为下棋高手就不能随机下棋,要考虑下棋后会不会再被对方吃掉等等,这里只简单做随机下子了). 完整<五子飞>游戏人机对战:http://www.lyout.com/projects/Fiveflychess/FiveflyChess8.htm // 查找是否有可挑的

HTML5+JS 《五子飞》游戏实现(六)鼠标响应与多重选择

上一章我们提到了如果有多条线上的棋子可以被吃掉,那么游戏需要提示用户,让用户选择吃哪条线上的.另外因为是网页游戏,所以一定要实现鼠标单击棋子可以进行操作. 当鼠标移动棋子上面后,切换鼠标指针为手形,移开棋子后再切换回默认的状态: el.mousemove(function (e) { var o = el.offset(); var p = { x: e.clientX - o.left, y: e.clientY - o.top }; el.css("cursor", "d

冷门JS技巧

前端已经被玩儿坏了!像console.log()可以向控制台输出图片等炫酷的玩意已经不是什么新闻了,像用||操作符给变量赋默认值也是人尽皆知的旧闻了,今天看到Quora上一个帖子,瞬间又GET了好多前端技能,一些属于技巧,一些则是闻所未闻的冷知识,一时间还消化不过来.现分类整理出来分享给大家,也补充了一些平时的积累和扩展了一些内容. HTML篇 浏览器地址栏运行JavaScript代码 这个很多人应该还是知道的,在浏览器地址栏可以直接运行JavaScript代码,做法是以javascript:开

HTML5+JS 《五子飞》游戏实现(四)夹一个和挑一对

在第一章我们已经说了怎么才能“夹一个”以及怎样才能挑一对,但那毕竟只是书面上的,对码农来讲,我们还是用代码讲解起来会更容易了解. 为了更容易对照分析,我们先把路线再次贴出来: // 可走的路线 this.lines = [ [ 0, 1, 2, 3, 4], [ 5, 6, 7, 8, 9], [10, 11, 12, 13, 14], [15, 16, 17, 18, 19], [20, 21, 22, 23, 24], [ 0, 5, 10, 15, 20], [ 1, 6, 11, 16,

Linux Shell常用技巧(五) awk编程

Linux Shell常用技巧(五) awk编程 十一.  awk编程:    1.  变量:    在awk中变量无须定义即可使用,变量在赋值时即已经完成了定义.变量的类型可以是数字.字符串.根据使用的不同,未初始化变量的值为0或空白字符串" ",这主要取决于变量应用的上下文.下面为变量的赋值负号列表: 符号 含义 等价形式 = a = 5 a = 5 += a = a + 5 a += 5 -= a = a - 5 a -= 5 *= a = a * 5 a *= 5 /= a =

思科命令配置小技巧五:记事本

对于自己常用的命令 可以事先有记事本配置保存好 比如 en conf t line con 0 logg syn exec-t  0 0 exit host 3548 把上面的命令直接在设备的   > 或者 # 模式下复制进去即可 要注意的是:黏贴命令可以可以包含 enter 键的. 如果选择复制的时候包含了 enter 键盘. 那么黏贴后回立即执行 思科命令配置小技巧五:记事本

HTML5+JS 《五子飞》游戏实现(七)游戏试玩

前面第一至第六章我们已经把<五子飞>游戏的基本工作都已经讲得差不多了,这一章主要是把所有的代码分享给大家,然后小伙伴们也可以玩一玩. 至于人机对战的我们放到后面讲进行分析. 试玩地址:http://www.lyout.com/projects/fiveflychess/FiveflyChess7.htm 现在我们来总结一下该小游戏的一些基本定义: // 定义游戏对象 function GameChess(){ // 初始配置 this.init = function ()//... // 画棋

Linux Shell常用技巧(五)

十一.  awk编程:    1.  变量:    在awk中变量无须定义即可使用,变量在赋值时即已经完成了定义.变量的类型可以是数字.字符串.根据使用的不同,未初始化变量的值为0或空白字符串" ",这主要取决于变量应用的上下文.下面为变量的赋值负号列表: 符号 含义 等价形式 = a = 5 a = 5 += a = a + 5 a += 5 -= a = a - 5 a -= 5 *= a = a * 5 a *= 5 /= a = a / 5 a /= 5 %= a = a %

js技巧--转义符&quot;\&quot;的妙用

js技巧--转义符"\"的妙用 // blueDestiny, never-online // blueDestiny [at] 126.com 通常,我们在动态给定一个container的innerHTML时,通常是样做的: <div id="divc" /> <SCRIPT LANGUAGE="JavaScript"> var div = document.getElementById("divc"