首页 > 代码库 > js 技巧 (五)

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="http://www.mamicode.com/First Column, First Cell"; 
newBook.Worksheets(1).Cells(2,1).value="http://www.mamicode.com/First Column, Second Cell"; 
newBook.Worksheets(1).Cells(1,2).value="http://www.mamicode.com/Second Column, First Cell"; 
newBook.Worksheets(1).Cells(2,2).value="http://www.mamicode.com/Second Column, Second Cell"; 
newBook.Worksheets(1).Name="My First WorkSheet"; 
} 
</script> 


//自定义提示条 

<a href="http://www.mamicode.com/#" 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=http://www.mamicode.com/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="http://www.mamicode.com/.." onl oad = "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="http://www.mamicode.com/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

js 技巧 (五)