ï»??xml version="1.0" encoding="utf-8" standalone="yes"?>国产在线精品免费av,日韩精品一区二区三区免费观看,日本美女视频一区二区http://www.aygfsteel.com/sunfruit/category/7558.html--我相信JAVA能走得更˜q?QQ:316228067zh-cnSun, 23 Mar 2008 09:10:52 GMTSun, 23 Mar 2008 09:10:52 GMT60Swift GIS--½E›_®šã€è‡ªä¸…R€é«˜æ•?/title><link>http://www.aygfsteel.com/sunfruit/archive/2008/03/21/187758.html</link><dc:creator>sunfruit</dc:creator><author>sunfruit</author><pubDate>Fri, 21 Mar 2008 09:48:00 GMT</pubDate><guid>http://www.aygfsteel.com/sunfruit/archive/2008/03/21/187758.html</guid><wfw:comment>http://www.aygfsteel.com/sunfruit/comments/187758.html</wfw:comment><comments>http://www.aygfsteel.com/sunfruit/archive/2008/03/21/187758.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/sunfruit/comments/commentRss/187758.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/sunfruit/services/trackbacks/187758.html</trackback:ping><description><![CDATA[<script src="http://221.122.41.10/rmcomserver/ltmap/ltmap.js"></script><script type="text/javascript"> var initMap; var mapListener = new MapListener(); mapListener.onClick = function(geoPoint){ //业务 //pointId, geoPoint, color, size, opacity, caption, captionFontColor, captionBgColor, captionOpacity){ var p = new Point(1, geoPoint, '#0000ff', 10, .6, '‹¹‹è¯•ç‚?, '#000000', '#FFFF00', .6); initMap.addPoint(p); } mapListener.onMouseMove = function(geoPoint){ window.status = "lon="+geoPoint.x+"; lat="+geoPoint.y; } function win_load(){ initMap = new initMap('map', '221.122.41.10', '80'); initMap.addPanZoomBar(5, 5); //initMap.addOverviewMap(); //*****初始化地图控刉™¢æ?**** initMap.addControlPanel(60, 20); initMap.controlPanel.all[0].onclick = function(){initMap.drag();}; initMap.controlPanel.all[1].onclick = function(){initMap.zoomIn();}; initMap.controlPanel.all[2].onclick = function(){initMap.zoomOut();}; initMap.controlPanel.all[3].onclick = function(){initMap.getDistance();}; initMap.controlPanel.all[4].onclick = function(){initMap.onPoint('onPoint1');}; initMap.controlPanel.all[5].onclick = function(){initMap.onRect('onRect1');}; initMap.controlPanel.style.width = '370px'; //************************* } function onPoint1(geoPoint){ var p = new Point(1, geoPoint, '#0000ff', 10, 1, '‹¹‹è¯•ç‚?, '#000000', '#FFFF00', .6); initMap.addPoint(p); } function onRect1(geoRect){ var rectArea = new RectArea(1, geoRect, '#00ff00', 0.5, '#0000ff', 1); initMap.addRect(rectArea); } function win_unload(){ initMap.listenerAgent.removeListener(mapListener); } //ç‚ÒŽ(gu¨©)“ä½? function addPoint(){ var lon = OpenLayers.Util.getElement('addPointLon').value; var lat = OpenLayers.Util.getElement('addPointLat').value; var geoPoint = new GeoPoint(parseFloat(lon), parseFloat(lat)); var p = new Point(1, geoPoint, '#0000ff', 10, 1, '中文中文中文中文', '#FFFF00', '#00FF00', 1); initMap.addPoint(p); } function deletePoint(){ initMap.deletePoint(1); } function clearPoint(){ initMap.clearPoint(); } //¾U¿æ“ä½? function addLine(){ var str = OpenLayers.Util.getElement('addPolygonPoints').value; var pointArr = str.split(","); var points = new Array(); for(var i = 0; i < pointArr.length; i+=2){ points.push(new GeoPoint(parseFloat(pointArr[i]), parseFloat(pointArr[i+1]))); } var line = new Line(1, points, '#000000', 4, 1); initMap.addLine(line); } function deleteLine(){ initMap.deleteLine(1); } function clearLine(){ initMap.clearLine(); } //圆åŞ操作 var regularPolygonFeature; function addCircle(){ lon = OpenLayers.Util.getElement('addCircleLon').value; lat = OpenLayers.Util.getElement('addCircleLat').value; radius = OpenLayers.Util.getElement('addPointRadius').value; var geoCircle = new GeoCircle(parseFloat(lon), parseFloat(lat), parseFloat(radius)); var circleArea = new CircleArea(1, geoCircle, '#00ff00', 0.5, '#0000ff', 1); //alert(circleArea); initMap.addCircle(circleArea); } function deleteCircle(){ initMap.deleteCircle(1); } function clearCircle(){ initMap.clearCircle(); } //矩åŞ操作 function addRect(){ var left = OpenLayers.Util.getElement('addRectLeft').value; var top = OpenLayers.Util.getElement('addRectTop').value; var right = OpenLayers.Util.getElement('addRectRight').value; var bottom = OpenLayers.Util.getElement('addRectBottom').value; if(left != null && left != '' && top != null && top != '' && right != null && right != '' && bottom != null && bottom != ''){ var geoRect = new GeoRect(parseFloat(left), parseFloat(top), parseFloat(right), parseFloat(bottom)); var rectArea = new RectArea(1, geoRect, '#00ff00', 0.5, '#0000ff', 1); initMap.addRect(rectArea); } } function deleteRect(){ initMap.deleteRect(1); } function clearRect(){ initMap.clearRect(); } //多边å½? function addPolygon(){ var str = OpenLayers.Util.getElement('addPolygonPoints').value; if(str != null && str != ''){ var pointArr = str.split(","); var nPoints = new Array(); for(var i = 0; i < pointArr.length; i+=2){ nPoints.push(new OpenLayers.Geometry.Point(parseFloat(pointArr[i]), parseFloat(pointArr[i+1]))); } var polygonArea = new PolygonArea(1, nPoints, '#0000ff', 0.1, '#0000ff', 2); initMap.addPolygon(polygonArea); } } function deletePolygon(){ initMap.deletePolygon(1); } function clearPolygon(){ initMap.clearPolygon(); } //标记和弹出窗å? function addMarker(){ var str = OpenLayers.Util.getElement('popupPosition').value; var pointArr = str.split(","); var marker = new Marker(1, new GeoPoint(parseFloat(pointArr[0])-.2, parseFloat(pointArr[1])), 'img/zoom-world-mini.png', 30, 30, '<center><a target="_blank">癑ֺ¦</a></center>', '‹¹‹è¯•POI1', '#000000', '#DDD', .8, false); initMap.addMarker(marker); var marker2 = new Marker(2, new GeoPoint(parseFloat(pointArr[0]), parseFloat(pointArr[1])), 'img/zoom-world-mini.png', 30, 30, '<center><a target="_blank">癑ֺ¦</a></center>', '‹¹‹è¯•POI2', '#000000', '#DDD', .8, true); initMap.addMarker(marker2); var marker3 = new Marker(3, new GeoPoint(parseFloat(pointArr[0])+.2, parseFloat(pointArr[1])), 'img/zoom-world-mini.png', 30, 30, '', '‹¹‹è¯•POI3', '#000000', '#DDD', .8, true); initMap.addMarker(marker3); } function deleteMarker(){ initMap.deleteMarker(1); } function clearMarker(){ initMap.clearMarker(); } //弹出½H—口 function addPopup(){ var str = OpenLayers.Util.getElement('popupPosition').value; if(str != null && str != ''){ var pointArr = str.split(","); var p = new GeoPoint(parseFloat(pointArr[0]), parseFloat(pointArr[1])); var popup = new Popup(1, p, .9, '<center>北京灵图技术有限公å?/center><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><center>灵图</center>', 272, 170 , true); initMap.addPopup(popup); } } function deletePopup(){ initMap.deletePopup(1); } function clearPopup(){ initMap.clearPopup(); } function addScale(){ initMap.addScale(); } function getScale(){ var obj = OpenLayers.Util.getElement('scaleId'); obj.value = initMap.getScale(); } function removeScale(){ initMap.removeScale(); } function addPanZoomBar(){ initMap.addPanZoomBar(5, 5); } function removePanZoomBar(){ initMap.removePanZoomBar(); } function addListener(){ initMap.listenerAgent.addListener(mapListener); } function removeListener(){ initMap.listenerAgent.removeListener(mapListener); } function setCenter() { var center = new GeoPoint(106.5220,29.5616); initMap.setCenter(center); } function getCenter(){ alert(initMap.getCenter()); } function addSelectFeature(){ initMap.addSelectFeature(); } function zoomOut(){ initMap.zoomOut(); } function drag(){ initMap.drag(); } function addLonLat(){ initMap.addLonLat(); } function setMapByRect(){ geoRect = new GeoRect(106.4253,29.5725,106.6100,29.4756); initMap.setMapByRect(geoRect); } function setMapByPoints(){ var str = OpenLayers.Util.getElement('addPolygonPoints').value; if(str != null && str != ''){ var pointArr = str.split(","); var nPoints = new Array(); for(var i = 0; i < pointArr.length; i+=2){ nPoints.push(new OpenLayers.Geometry.Point(parseFloat(pointArr[i]), parseFloat(pointArr[i+1]))); } initMap.setMapByPoints(nPoints); } } var floatPopup, floatPopup1, floatPopup2; function addFloatPopup(){ var jsContent = "<strong>½W¬ä¸€ä¸ªå¼¹å‡ºçª—口内å®?/strong><br /><center><input type=\"button\" value=\"弹出½W¬äºŒä¸ªçª—口\" onclick=\"test1()\" /></center>"; floatPopup = new creatPopup('aaa', 200, 230, 244, 386, '½W¬ä¸€ä¸ªçª—å?, jsContent); //alert(floatPopup); } function addFloatPopup1(){ var jsContent = "<strong>½W¬ä¸€ä¸ªå¼¹å‡ºçª—口内å®?/strong>"; creatPopup('aaa', 400, 430, 244, 386, '‹¹‹è¯•½H—口', jsContent); } function test1(){ creatPopup('bbb', 100, 130, 440, 250, '½W¬äºŒä¸ªçª—å?, '<center>内容</center>'); } function closePopup_LP(id){ closeFloatPopup(id); } function zoomIn(){ initMap.zoomIn(); } function zoomOut(){ initMap.zoomOut(); } function getDistance() { initMap.getDistance(); } /*********需要回调的函数**********/ function clearRect(){ initMap.clearRect(); } function eventAgent(evt) { initMap.eventAgent(evt); } /*******************************/ </script> <div style="border-right: black 1px solid; border-top: black 1px solid; border-left: black 1px solid; width: 640px; border-bottom: black 1px solid; height: 480px"> <div class="wmqeeuq" id="map" style="width: 100%; height: 100%"></div> </div> <form action="" method="post"> <!-- <input type="text" value="" name="loggers" size="100" /> --><!--<input type=button value='清除' onclick='document.getElementById("loggers").value=""'/ /><br/ /> <textarea rows="5" cols="150" id="loggers"></textarea> --> <table width="1024" border="1"> <tbody> <tr> <td width="152">地图操作</td> <td colspan="2"><input onclick="initMap.drag();" type="button" value="¿UÕdЍ" name="drag" /> <input onclick="initMap.zoomIn()" type="button" value="攑֤§" name="zoomIn" /> <input onclick="initMap.zoomOut()" type="button" value="¾~©å°" name="zoomOut" />    <input onclick="initMap.getDistance()" type="button" value="‹¹‹è·" name="line" /> <input onclick="initMap.getArea()" type="button" value="‹¹‹é¢" name="polygon" />    <input onclick="setCenter()" type="button" value="设中å¿? name="" /> <input onclick="getCenter()" type="button" value="取中å¿? name="" />    <input onclick="setMapByRect()" type="button" value="讄¡½®åœ°å›¾(rect)" name="" /> <input onclick="setMapByPoints()" type="button" value="讄¡½®åœ°å›¾(points)" name="" /> </td> </tr> <tr> <td width="152">炏V€çº¿</td> <td colspan="2"><input value="106.5220" name="addPointLon" type="text" /> <input value="29.5616" name="addPointLat" type="text" /> <input onclick="addPoint()" type="button" value="加点" /> <input onclick="deletePoint()" type="button" value="删点" /> <input onclick="clearPoint()" type="button" value="清点" />       <input onclick="addLine()" type="button" value="加线" name="" /> <input onclick="deleteLine()" type="button" value="删线" name="" /> <input onclick="clearLine()" type="button" value="清线" name="" /> </td> </tr> <tr> <td rowspan="3">多边å½?/td> <td>åœ?/td> <td>中心 <input size="12" value="106.5220" name="addCircleLon" type="text" /> <input size="12" value="29.5616" name="addCircleLat" type="text" /> 半径 <input id="addPointRedius" size="12" value="0.09" name="addPointRadius" type="text" /> <input onclick="addCircle()" type="button" value="加圆" name="" /> <input onclick="deleteCircle()" type="button" value="删圆" name="" /> <input onclick="clearCircle()" type="button" value="清圆" name="" /></td> </tr> <tr> <td>矩åÅž</td> <td>左上 <input id="addRectLeft" size="12" value="106.4253" name="addRectLeft" type="text" /> <input id="addRectTop" size="12" value="29.5725" name="addRectTop" type="text" /> 右下 <input id="addRectRight" size="12" value="106.6100" name="addRectRight" type="text" /> <input id="addRectBottom" size="12" value="29.4756" name="addRectBottom" type="text" /> <input onclick="addRect()" type="button" value="加矩å½? name="" /> <input onclick="deleteRect()" type="button" value="删矩å½? name="" /> <input onclick="clearRect()" type="button" value="清矩å½? name="" /></td> </tr> <tr> <td width="62">多边å½?/td> <td width="788"><input id="addPolygonPoints" size="68" value="106.5220,29.5616,106.4253,29.5725,106.5726,29.616" name="addPolygonPoints" type="text" /> <input onclick="addPolygon()" type="button" value="加多边åÅž" name="" /> <input onclick="deletePolygon()" type="button" value="删多边åÅž" name="" /> <input onclick="clearPolygon()" type="button" value="清多边åÅž" name="" /> </td> </tr> <tr> <td width="152">标记(marker)</td> <td colspan="2"><input onclick="addMarker()" type="button" value="加标è®? name="" /> <input onclick="deleteMarker()" type="button" value="删标è®? name="" /> <input onclick="clearMarker()" type="button" value="清标è®? name="" />     <input id="popupPosition" value="106.4230,29.5616" name="popupPosition" type="text" /> <input onclick="addPopup()" type="button" value="加弹出窗å? name="" /> <input onclick="deletePopup()" type="button" value="删弹出窗å? name="" /> <input onclick="clearPopup()" type="button" value="清弹出窗å? name="" />     </td> </tr> <tr> <td width="152">滑动æ?PanZoomBar)</td> <td colspan="2"><input onclick="addPanZoomBar()" type="button" value="æ·ÀL»‘动条" name="" /> <input onclick="removePanZoomBar()" type="button" value="删滑动条" name="" />   <input onclick="addLonLat()" type="button" value="æ·È»¾U¬åº¦" name="" />   <input onclick="initMap.addOverviewMap()" type="button" value="添鹰çœ? name="" /> <input onclick="initMap.deleteOverviewMap()" type="button" value="删鹰çœ? name="" /> </td> </tr> <tr> <td width="152">比例ž®?scale)</td> <td colspan="2"><input id="scaleId" name="scaleId" type="text" /> <input onclick="getScale()" type="button" value="取比例尺" name="" /> <input onclick="addScale()" type="button" value="æ·ÀL¯”例尺" name="" /> <input onclick="removeScale()" type="button" value="删比例尺" name="" /> </td> </tr> <tr> <td width="152">地图属æ€?/td> <td colspan="2"><input onclick="alert(initMap.getViewSize());" type="button" value="½H—口大小" name="" /> <input onclick="alert(initMap.getMapSize());" type="button" value="地图大小" name="" /> </td> </tr> <tr> <td width="152">事äšg</td> <td colspan="2"><input onclick="initMap.drag();addListener()" type="button" value="æ·ÕdŠ ç›‘å¬" name="" /> <input onclick="removeListener()" type="button" value="删除监听" name="" />     <input onclick="initMap.onRect('onRect1')" type="button" value="ç”ÀL¡†" name="" />     <input onclick="initMap.onPoint('onPoint1')" type="button" value="炚w€? name="" /> </td> </tr> <tr> <td width="152">其它</td> <td colspan="2"><input onclick="addFloatPopup()" type="button" value="‹¹®åЍ½H—口A" name="" /> <input onclick="addFloatPopup1()" type="button" value="‹¹®åЍ½H—口B" name="" /> <input onclick="closePopup_LP('aaa')" type="button" value="关闭½H—口A" name="" /> <input onclick="closePopup_LP('bbb')" type="button" value="关闭½H—口B" name="" /> </td> </tr> </tbody> </table> </form> <script> //initMap.addOverviewMap(); win_load(); </script> <img src ="http://www.aygfsteel.com/sunfruit/aggbug/187758.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/sunfruit/" target="_blank">sunfruit</a> 2008-03-21 17:48 <a href="http://www.aygfsteel.com/sunfruit/archive/2008/03/21/187758.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>[原创]Applet上叠加层的解å†Ïx–¹æ¡?非div)http://www.aygfsteel.com/sunfruit/archive/2007/12/29/171555.htmlsunfruitsunfruitSat, 29 Dec 2007 07:36:00 GMThttp://www.aygfsteel.com/sunfruit/archive/2007/12/29/171555.htmlhttp://www.aygfsteel.com/sunfruit/comments/171555.htmlhttp://www.aygfsteel.com/sunfruit/archive/2007/12/29/171555.html#Feedback0http://www.aygfsteel.com/sunfruit/comments/commentRss/171555.htmlhttp://www.aygfsteel.com/sunfruit/services/trackbacks/171555.html
    在applet上叠加层æœ?¿Uæ–¹å¼?br />     ½W¬ä¸€åQšä‹É用iframe的方å¼?br />     ½W¬äºŒåQšä‹É用window.createPopup();方式

    <div></div>的方式我是没有试成功åQŒæ— è®ºå¦‚何设¾|®ï¼Œdiv都在applet的下面,要是哪位实验成功了,¾léªŒä¹Ÿå…±äº«ä¸€ä¸?br />
    ç”׃ºŽwindow.createPopup()主要用于创徏右键菜单åQŒç”±äºŽå…¶çš„一些特性,例如在其他地方点å‡?该window.createPopup()对象消失åQŒæ‰€ä»¥å åŠ å±‚æ–¹å¼ä½¿ç”¨window.createPopup()òq¶ä¸åˆé€‚,使用iframe制作叠加层的效果更好更好

    效果囑֦‚ä¸?br />     
    
    演示åQ?a >http://www.fruitres.cn/applet.jspåQŒå¯ä»¥ä»Žè¯¥æ¼”½Cºé¡µç›´æŽ¥ä¸‹è²js代码åQŒæˆ–者到代码下蝲™åµä¸‹è½?br />     代码下蝲åQ?a >http://www.fruitres.cn/servlet/buyproductservlet?tag=single&tag1=info&PRODUCT_ID=1084563770&number=0 
    更多下蝲åQ?a >http://www.fruitres.cn/

sunfruit 2007-12-29 15:36 发表评论
]]>
[资料]WEB开发利å™?-JAVASCRIPT API文档 HTML API 文档http://www.aygfsteel.com/sunfruit/archive/2006/10/31/78311.htmlsunfruitsunfruitTue, 31 Oct 2006 08:37:00 GMThttp://www.aygfsteel.com/sunfruit/archive/2006/10/31/78311.htmlhttp://www.aygfsteel.com/sunfruit/comments/78311.htmlhttp://www.aygfsteel.com/sunfruit/archive/2006/10/31/78311.html#Feedback6http://www.aygfsteel.com/sunfruit/comments/commentRss/78311.htmlhttp://www.aygfsteel.com/sunfruit/services/trackbacks/78311.html    有三个压¾~©åŒ…需要下载,下蝲以后攑֜¨åŒä¸€ä¸ªç›®å½•中解压卛_¯
     下蝲�
     下蝲�
     下蝲�

sunfruit 2006-10-31 16:37 发表评论
]]>
[转]JavaScript面向对象的特æ€?/title><link>http://www.aygfsteel.com/sunfruit/archive/2006/08/30/66567.html</link><dc:creator>sunfruit</dc:creator><author>sunfruit</author><pubDate>Wed, 30 Aug 2006 01:37:00 GMT</pubDate><guid>http://www.aygfsteel.com/sunfruit/archive/2006/08/30/66567.html</guid><wfw:comment>http://www.aygfsteel.com/sunfruit/comments/66567.html</wfw:comment><comments>http://www.aygfsteel.com/sunfruit/archive/2006/08/30/66567.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/sunfruit/comments/commentRss/66567.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/sunfruit/services/trackbacks/66567.html</trackback:ping><description><![CDATA[如果你ä‹É用JavaScript¾~–程åQŒä½ æˆ–许会怀疑它是否包含了面向对象(OOåQ‰çš„¾l“构。实际上åQŒJavaScript的确支持面向对象的架构――在某种½E‹åº¦ä¸Šã€‚本文将通过一个可扩展向量囑ÖÅžåQˆSVGåQ‰çš„实例来说明JavaScriptçš„OO¾l“æž„ã€? <p></p><p>我如何在¾cÖM¸­å®šä¹‰æ–ÒŽ(gu¨©)³•和属性?</p><p></p><p>OO开发的一个基本方面是¾cÕdŠå…¶ç›¸åº”çš„æ–ÒŽ(gu¨©)³•和/或属性的使用。JavaScript通过function关键字支持类åQˆåŠå…¶å±žæ€§ï¼‰çš„ä‹É用。下面的代码定义了一个叫做Figureçš„JavaScript¾c»ï¼š<br />function Figure() {<br />this.centerX=0;<br />this.centerY=0;<br />this.area=0;<br />this.transform = transform; // methods are defined like this<br />function transform(moveX,moveY,angle) {<br />this.centerX += moveX;<br />this.centerY += moveY;<br />} }</p><p>˜q™ä¸ªFigure¾cÀLœ‰ä¸‰ä¸ªå±žæ€§ï¼šcenterXåQŒcenterYåQŒå’Œarea。另外,它还有一个方法叫做transform()。前三行是这个类的构造器ã€?br />但是它看èµäh¥ä¸åƒä¸€ä¸ªç±»<br />你会想Figure()看è“v来不像一个类åQŒè€Œæ›´åƒä¸€ä¸ªJavaScriptçš„å‡½æ•°ã€‚é‚£ä¹ˆäØ“ä»€ä¹ˆFigure()定义的是个类åQ?</p><p>严格的说åQŒFigure()函数没有定义一个类åQŒä½†æ˜¯å®ƒä»‰K€ äº†ä¸€ä¸ªã€‚它实际上创å»ÞZº†ä¸€ä¸ªå¯¹è±¡ï¼Œåœ¨æ‹¬å·é‡Œçš„代码ä‹É˜q™ä¸ªå¯¹è±¡çš„æž„造器。JavaScript的对象支持是很基¼‹€çš„ï¼Œå®ƒåÆˆä¸åŒºåˆ†ç±»å’Œå¯¹è±¡ã€?br />˜q™å°±å¼•åˆ°äº†é—®é¢˜äØ“ä»€ä¹ˆFigure()函数创徏的是一个对象。对象是可以有属性和æ–ÒŽ(gu¨©)³•的。基本上åQŒå› ä¸ºFigure()函数同时包含了属性和æ–ÒŽ(gu¨©)³•åQŒå®ƒ?y¨­u)®±æ˜¯ä¸ªå¯¹è±¡ã€‚在JavaScript里,所有的函数åÏx˜¯å¯¹è±¡åˆæ˜¯å¯è°ƒç”¨çš„代码块。这不像它听èµäh¥çš„那样容易被误解。要创徏一个Figure()¾c»ï¼å¯¹è±¡åQŒä½ åªç”¨ä½¿ç”¨ä»¥ä¸‹å¥æ³•åQ?br />MyFigure = new Figure();<br />你也可以把Figure()函数当作代码块调用,ž®±åƒ˜q™æ ·åQ?br />figValue = Figure();<br />变量figValueæ²¡æœ‰è¢«å®šä¹‰æ˜¯å› äØ“ä»£ç å—Figure()没有˜q”回ä»ÖM½•倹{€‚如果你把return(this.area)加到函数的最后一行,figValuež®×ƒ¼šæœ‰ä¸ªå€?。所以figValue是个¾cÕdž‹æ•°å­—åQŒMyFigure是对è±?Rectangle的实例ã€?br />ä¸ÞZ»€ä¹ˆæ‰€æœ‰çš„变量前面都一个“this”?</p><p>˜q™ä¸ªå…³é”®å­—this表示˜q™æ˜¯å¯¹è±¡çš„实例变量,可以使用MyFigure.centerX从对象外部访问。要让变量成为私有变量,åŽÀLŽ‰å‰ç¼€thisž®Þp¡Œäº†ã€‚this.transform = transform˜q™ä¸€è¡Œè®©æ–ÒŽ(gu¨©)³•æˆäØ“å…¬ç”¨æ–ÒŽ(gu¨©)³•。这个方法通过MyFigure.transform(100,100,0)调用ã€?/p>˜q™äº›¾cÀLœ‰å±‚次之分吗? <p>另一个好问题的是JavaScript的类是否有层‹Æ¡ä¹‹åˆ†ã€‚回½{”是肯定有。我们来仔细看看是怎么做到分层的。我们可以定义一个Rectangle子类åQŒåƈ把Figureä½œäØ“çˆ¶ç±»åQ?</p><p>function Rectangle(startX, startY, endX, endY) {<br />this.width = endX - startX;<br />this.height = endY - startY;<br />this.centerX = (endX + startX)/2;<br />this.centerY = (endY + startY)/2;<br />this.computeArea = computeArea;<br />function computeArea() {<br />this.area = this.width*this.height;<br />} }<br />Rectangle.prototype = new Figure();</p><p>Rectangle对象是用4个自变量创徏的,前四行是构造器ã€?Rectangle¾cÕdŒ…含了一个方法: computeArea()。最后一行Rectangle.prototype = new Figure();åQŒæŠŠRectangle¾cÕd®šä¹‰äؓ从Figure¾cȝ‘ô承来的子¾c…R€?br />然我来解释一下prototypeåQˆåŽŸåž‹ï¼‰ã€‚æ¯ä¸ªå¯¹è±¡æž„é€ å™¨éƒ½æœ‰prototype属性;˜q™æ˜¯ç”¨æ¥¾l™æ‰€æœ‰çš„对象增加新属性和æ–ÒŽ(gu¨©)³•的。这ž®±æ˜¯ä¸ÞZ»€ä¹ˆåŽŸåž‹è¢«ç”¨æ¥å®žçŽ°¾l§æ‰¿åQšchild.prototype = new parent();。通过原型åQŒçˆ¶å¯¹è±¡çš„æ‰€æœ‰å±žæ€§å’Œæ–ÒŽ(gu¨©)³•都被æ·ÕdŠ åˆ°å­å¯¹è±¡ä¸Šã€?br />要注意this.centerXåQŒthis.centerYåQŒå’Œarea是Rectangle¾cÖM¸­æ‰€ä½¿ç”¨çš„属性,但是它们æ˜?Figure父类的属性。和Rectangle¾cȝ›¸ä¼û|¼ŒCircle¾cÕd¯ä»¥è¢«å®šä¹‰æˆFigure¾cȝš„原型。这¿Uçˆ¶å­å…³¾pÕd¯ä»¥æŒ‰ä½ éœ€è¦æ¥å®šä¹‰æ·±åº¦åQ›ä½ å¯ä»¥åˆ›å¾å¦ä¸€ä¸ªRectangle的子¾c…R€?br />我如何创å»ÞZ¸€ä¸ªç±»çš„实例?</p><p>在JavaScript里创å»ÞZ¸€ä¸ªç±»çš„实例很å®ÒŽ(gu¨©)˜“åQ?br />rect = new Rectangle(100,100,900,800);<br />˜q™å°±åˆ›å¾äº†Rectangle¾cÕdž‹çš„一个对象。Rectangle的构造器在属性width, height, centerX, å’ŒcenterY中填入了倹{€‚rect.area属性的值是é›Óž¼ˆ0åQ‰ã€‚ä‹É用这个命令就能调用areaæ–ÒŽ(gu¨©)³•åQ?br />rect.computeArea();<br />rect.area的值现在是560,000。要调用transformæ–ÒŽ(gu¨©)³•使用åQ?br />rect.transform(100,200,0);</p><p>父和子对象的属性可以像˜q™æ ·è®‰K—®åˆŽÍ¼š<br />var ar = rect.area;<br />var wi = rect.width;</p><p>我能­‘…越属性和æ–ÒŽ(gu¨©)³•吗?</p><p>ž®±åƒä½ åœ¨Javaä¸­çš„ä¸€æ øP¼Œä½ å¯ä»¥è¶…­‘Šå±žæ€§å’Œæ–ÒŽ(gu¨©)³•。在子类中定义的属性或者方法可以超­‘ŠåŒåçš„父类的属性和æ–ÒŽ(gu¨©)³•ã€?br />和全局变量互动<br />JavaScript也支持全局变量的ä‹É用。在以下代码ŒDµä¸­‹¹‹è¯•一下g_area变量的范å›ß_¼š<br /><HTML><br /><SCRIPT><br />var g_area = 20;<br />function Figure() {<br />â€?br />this.area=g_area;<br />â€?br />}<br />function Rectangle(){ â€?}<br />Rectangle.prototype = new Figure();<br />function test(){<br />g_area = 40;<br />rect = new Rectangle();<br />alert(rect.area);<br />}<br /></SCRIPT><br /><BODY onLoad = 'test()'/><br /></BODY><br /></HTML><br />rect.area的值是20åQˆä¸æ˜¯ä½ é¢„计çš?0åQ‰ï¼Œ˜q™æ˜¯å› äØ“Rectangle对象是Figure对象的原型,˜q™ç§å…³ç³»åœ¨test()被调用以前就被定义了。要使用g_area的新å€û|¼Œä½ éœ€è¦ç”¨ä»¥ä¸‹çš„æ–¹æ³•: </p><p>function test() {<br />g_area = 40;<br />Rectangle.prototype = new Figure();<br />rect = new Rectangle();<br />alert(rect.area);<br />}</p><p>对于所有的Rectangle的新实例åQŒè¿™ž®†æ”¹å˜area属性的倹{€‚或者,你可以ä‹É用这¿Uæ–¹æ³•:function test() {<br />g_area = 40; <br />rect = new Rectangle();<br />Rectangle.prototype.area = g_area;<br />alert(rect.area);<br />}</p><p>˜q™å°†æ”¹å˜Rectangle所有现存的以及新实例的area属性的倹{€?br />¾l“论</p><p>ä¸ÞZº†æ•ˆä»¿OO开发,JavaScript提供了必需的ç‘ôæ‰Ñ€å°è£…å’Œ­‘…越属性,ž®½ç®¡å®ƒä¸æ”¯æŒæŽ¥å£å’Œæ–¹æ³•çš„˜q‡è²ã€‚如果你是刚接触到OO开发,用它试试。OO概念允许开发者将一¾l„数据和相关操作集中入一个对象。这在管理浏览器事äšg和管理浏览器内SVG图时很有用ã€?/p><img src ="http://www.aygfsteel.com/sunfruit/aggbug/66567.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/sunfruit/" target="_blank">sunfruit</a> 2006-08-30 09:37 <a href="http://www.aygfsteel.com/sunfruit/archive/2006/08/30/66567.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>[技巧]在JAVASCRIPT里面实现延时功能http://www.aygfsteel.com/sunfruit/archive/2006/03/14/35223.htmlsunfruitsunfruitTue, 14 Mar 2006 05:44:00 GMThttp://www.aygfsteel.com/sunfruit/archive/2006/03/14/35223.htmlhttp://www.aygfsteel.com/sunfruit/comments/35223.htmlhttp://www.aygfsteel.com/sunfruit/archive/2006/03/14/35223.html#Feedback0http://www.aygfsteel.com/sunfruit/comments/commentRss/35223.htmlhttp://www.aygfsteel.com/sunfruit/services/trackbacks/35223.html
我们有的时候需要在javascript里面实现延时功能åQŒæ¯”如:当某一个按钮按下提交内容以后就马上把状态改为失效,˜q?¿U’钟以后再把状态改为有效,才可以进行下一‹Æ¡æäº?BR>
˜q™ä¸ª˜q‡ç¨‹ž®±éœ€è¦åšg时功能了åQŒè¿™é‡Œç”¨åˆîCº†javascriptçš„setTimeout函数åQŒè¿™ä¸ªå‡½æ•°çš„入口参数ä¸?个,½W¬ä¸€ä¸ªå‚数是需要执行的内容åQŒè¿™ä¸ªå¯ä»¥æ˜¯ä¸€ä¸ªURLåQŒä¹Ÿå¯ä»¥æ˜¯å¦ä¸€ä¸ªjavascript函数åQŒç¬¬äºŒä¸ªå‚数是åšg时的旉™—´æ•°å•位是毫秒åQŒä¸‹é¢ä‹D个例å­?BR>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>无标题文�lt;/title>
<script language="javascript">
function r1()
{
 setTimeout("r2()",2000);
 
}
function r2()
{
    alert("OK");
}
</script>
</head>
<body>
 <input name="uu" type="button" id="uu" value="按钮" onClick="r1();">
<form name="form1" method="post" action="">
</form>
</body>
</html>

执行˜q™ä¸ªä¾‹å­çš„æ•ˆæžœæ˜¯åQšæŒ‰é’®æŒ‰ä¸‹åŽ»ä»¥åŽ2¿U’钟“OK”对话框弹出åQŒå‘µå‘는¨˜q™ä¸ªç‰ÒŽ(gu¨©)€§å®žçްbutton的失效和有效ž®Þq®€å•多äº?BR>
˜q™é‡Œæœ‰ä¸€ä¸ªæŠ€å·§ï¼Œž®±æ˜¯åœ¨é¡µé¢bodyçš„onload属性里面加上setTimeout的执行方法,而且setTimeoutæ–ÒŽ(gu¨©)³•的第一个参æ•îCؓ执行自èín™åµé¢åQŒè¿™æ ïL(f¨¥ng)š„æ•ˆæžœž®±æ˜¯é—´éš”一定时间刷新本™åµï¼Œä¹Ÿè®¸æœ‰äh问了åQŒhtml的自íw«å±žæ€§å°±æä¾›å®šæ—¶åˆäh–°™åµé¢åŠŸèƒ½åQŒjsp™åµé¢çš„head属性里面也有类似的功能åQŒå¹²å˜›è¿™ä¹ˆéº»çƒ¦ä‹É用setTimeoutæ–ÒŽ(gu¨©)³•

不知道大家注意了没有åQŒä¸½Ž¡æ˜¯ä½¿ç”¨html的自íw«æä¾›å®šæ—¶åˆ·æ–°é¡µé¢åŠŸèƒ½è¿˜æ˜¯jsp™åµé¢head属性里面类似的功能åQŒéƒ½ä¼šæœ‰‹¹è§ˆå™¨å‘出的“啪啪”的声音åQŒè€Œä‹É用setTimeout则没有这æ ïL(f¨¥ng)š„声音åQŒæ‰€ä»¥ä‹É用setTimeoutæ–ÒŽ(gu¨©)³•˜q˜æ˜¯å¾ˆæœ‰ç”¨çš„

sunfruit 2006-03-14 13:44 发表评论
]]>
[原创]JAVASCRIPTåˆ¤æ–­è¾“å…¥æ¡†ä¸­çš„å†…å®¹å…¨éƒ¨äØ“æ•°å­—çš„ä¸åŒæ–¹æ³•åˆ†æž?/title><link>http://www.aygfsteel.com/sunfruit/archive/2006/02/19/31506.html</link><dc:creator>sunfruit</dc:creator><author>sunfruit</author><pubDate>Sun, 19 Feb 2006 09:45:00 GMT</pubDate><guid>http://www.aygfsteel.com/sunfruit/archive/2006/02/19/31506.html</guid><wfw:comment>http://www.aygfsteel.com/sunfruit/comments/31506.html</wfw:comment><comments>http://www.aygfsteel.com/sunfruit/archive/2006/02/19/31506.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/sunfruit/comments/commentRss/31506.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/sunfruit/services/trackbacks/31506.html</trackback:ping><description><![CDATA[   --sunfruit <P>    分析了ä‹É用正则表辑ּå’Œä‹É用isNaN函数验证输入的内å®ÒŽ(gu¨©)˜¯å¦å…¨éƒ¨äؓ数字的区åˆ?/P> <P>    1、ä‹É用正则表辑ּ<BR>    var patrn=/^[0-9]{1,20}$/;<BR>    if(xxx!=null && !patrn.exec(xxx))<BR>    {<BR>       alert("请保证输入的全是数字");<BR>    } <BR>    ˜q™ä¸ªè¡¨è¾¾å¼è¦æ±‚输入的字符每一个都必须是数å­?123是正¼‹®çš„è€?.23不正¼‹?/P> <P>    2、ä‹É用isNaN<BR>    if (isNaN(xxx)) <BR>    {<BR>        alert('误‚¾“入数å­?');<BR>    }<BR>    ˜q™ä¸ªè¡¨è¾¾å¼è®¤ä¸?23,1.23,-1.23甚至æ˜?.23都是正确çš?/P> <P>    可以看出,使用正则表达式更适合验证输入内容必须为纯数字的情å†?而ä‹É用isNaNå¯¹è¾“å…¥çš„å†…å®¹è¦æ±‚æ›´äØ“å®½æ¾ä¸€äº?/P><img src ="http://www.aygfsteel.com/sunfruit/aggbug/31506.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/sunfruit/" target="_blank">sunfruit</a> 2006-02-19 17:45 <a href="http://www.aygfsteel.com/sunfruit/archive/2006/02/19/31506.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss> <footer> <div class="friendship-link"> <a href="http://www.aygfsteel.com/" title="狠狠久久亚洲欧美专区_中文字幕亚洲综合久久202_国产精品亚洲第五区在线_日本免费网站视频">狠狠久久亚洲欧美专区_中文字幕亚洲综合久久202_国产精品亚洲第五区在线_日本免费网站视频</a> </div> </footer> Ö÷Õ¾Ö©Öë³ØÄ£°å£º <a href="http://" target="_blank">ɨɽÊÐ</a>| <a href="http://" target="_blank">°ÍÁÖ×óÆì</a>| <a href="http://" target="_blank">µæ½­ÏØ</a>| <a href="http://" target="_blank">¾¸Ô¶ÏØ</a>| <a href="http://" target="_blank">¾ÅÁúÆÂÇø</a>| <a href="http://" target="_blank">Ǭ°²ÏØ</a>| <a href="http://" target="_blank">ÆÖ±±ÏØ</a>| <a href="http://" target="_blank">È«½·ÏØ</a>| <a href="http://" target="_blank">Àû½òÏØ</a>| <a href="http://" target="_blank">ÐÞÎäÏØ</a>| <a href="http://" target="_blank">ÖÓÏéÊÐ</a>| <a href="http://" target="_blank">¸£ÇåÊÐ</a>| <a href="http://" target="_blank">ÂÌ´ºÏØ</a>| <a href="http://" target="_blank">ƽÁ¹ÊÐ</a>| <a href="http://" target="_blank">Ò˱öÏØ</a>| <a href="http://" target="_blank">ɳƺ°ÓÇø</a>| <a href="http://" target="_blank">°²¿µÊÐ</a>| <a href="http://" target="_blank">ÈÊÊÙÏØ</a>| <a href="http://" target="_blank">ÆÑ½­ÏØ</a>| <a href="http://" target="_blank">ÎäÒÄɽÊÐ</a>| <a href="http://" target="_blank">¸ßÑôÏØ</a>| <a href="http://" target="_blank">µÂ½­ÏØ</a>| <a href="http://" target="_blank">íìíôÏØ</a>| <a href="http://" target="_blank">ÕÄÆÖÏØ</a>| <a href="http://" target="_blank">ÂÞÆ½ÏØ</a>| <a href="http://" target="_blank">ºÏ·ÊÊÐ</a>| <a href="http://" target="_blank">ÍпËÑ·ÏØ</a>| <a href="http://" target="_blank">Âê¶àÏØ</a>| <a href="http://" target="_blank">¶´Í·ÏØ</a>| <a href="http://" target="_blank">¶¼À¼ÏØ</a>| <a href="http://" target="_blank">¸·ÑôÊÐ</a>| <a href="http://" target="_blank">±öÑôÏØ</a>| <a href="http://" target="_blank">ÄÏͶÊÐ</a>| <a href="http://" target="_blank">ËçÄþÏØ</a>| <a href="http://" target="_blank">ÉÌÄÏÏØ</a>| <a href="http://" target="_blank">ËÑË÷</a>| <a href="http://" target="_blank">Þ»³ÇÊÐ</a>| <a href="http://" target="_blank">»´°²ÊÐ</a>| <a href="http://" target="_blank">ËçÖÐÏØ</a>| <a href="http://" target="_blank">ÁøÁÖÏØ</a>| <a href="http://" target="_blank">ÓÀ¼ªÏØ</a>| <script> (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })(); </script> </body>