Base层代码

JS中属于框架级的base层代码
  /*
  *  base 层代码
  */
  
   var GLOBAL = {};
   GLOBAL.namespace = function(str){
     var arr=str.split("."),  o=GLOBAL;
	 for(i=(arr[0]=="GLOBAL") ? 1:0; i<arr.length; i++) {
	 o[arr[i]]=o[arr[i]] || {};
	 o=o[arr[i]];
	 }
	 }
   
    //DOM相关
	GLOBAL.namespace("Dom");
	GLOBAL.Dom.getNextNode=function(node){
	node=typeof node=="string" ? document.getElementById(node) : node;
	var nextNode = node.nextSibling;
	if(!nextNode) return null;
	if(!document.all){
	while(true){
	if(nextNode.nodeType == 1){
	break;
	}else {
	if(nextNode.nextSibling){
	nextNode=nextNode.nextSibling;
	}else{
     break;
	}
	}
	}
	}
	return nextNode;
	};
	
	GLOBAL.Dom.setOpacity = function(node,level){
	node = typeof node=="string" ? document.getElementById(node) : node;
    if(document.all){
     node.style.filter = 'alpha(opacity=' + level +')';
     }	else {
	 node.style.opacity = level/100;
	 }
	}
   
    GLOBAL.Dom.get= function(node){
    node = typeof node=="string" ? document.getElementById(node) : node;
    return node; 
	}
	
	GLOBAL.Dom.getElementByClassName = function (str, root,tag) {
	if(root) {
	 root = typeof root =="string" ? document.getElementById(root) : root;
	} else {
	root =document.body;
	}
	tag= tag || "*";
	var els = root.getElementTagName(tag),  arr=[];
	for(var i=0; n=els.length; i<n; i++){
	for(var j=0, k=els[i].className.split(" "),l=k.length; j<l; j++){
	if(k[j] == str){
	arr.push(els[i]);
	break;
	}
	}
	}
	return arr;
	}
	
	//Event相关
	GLOBAL.namespace("Event");
	GLOBAL.Event.getEventTarget= function(e){
	e= window.event || e;
	return e.srcElement || e.target;
	}else {
	  e.stopPropagation();
	}
   }
    GLOBAL.Event.on= function(node,eventType,handler){
	node = typeof node=="string" ? document.getElementById(node) : node;
    if(document.all){
	node.attachEvent("on"+eventType,handler);
	}else{
	node.addEventListener(eventType,handler,false);
	}
	}
	
	//Lang相关
    GLOBAL.namespace("Lang");
	GLOBAL.Lang.trim = function(ostr){
	retrun ostr.replace(/^\s+|\s=$/g,"");
	}
	GLOBAL.Lang.isNumber=function(s){
	return !isNan(s);
	}
	GLOBAL.Lang.extend = function(subClass,superClass){
	var F=function(){};
	F.prototype= superClass.prototype;
	subClass.prototype=new F();
	subClass.prototype.constructor=subClass;
	subClass.superClass=superClass.prototype;
	if(superClass.prototype.constructor==Object.prototype.constructor){
	superClass.prototype.constructor=superClass;
	}
	}

在实际应用中,我们可以将base层的代码放在一个JS文件中,如base.js,然后通过<script src="base.js"></script>链接到网页中。如果对代码的大小要求较高,还可以将

base.js分成粒度更小的base_dom.js,base_event.js和base_lang.js,按需导入。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是一个基于ROS的三小车机器人的xacro代码示例,可以根据实际需要进行修改: ```xml <?xml version="1.0"?> <robot xmlns:xacro="http://ros.org/wiki/xacro"> <xacro:include filename="$(find xacro)/xacro.py" /> <!-- 定义小车机器人类型 --> <xacro:property name="robot_name" value="three_layer_robot" /> <xacro:property name="robot_description" value="This is a three-layer robot." /> <!-- 定义小车机器人尺寸和形状 --> <xacro:property name="robot_width" value="0.5" /> <xacro:property name="robot_length" value="0.8" /> <xacro:property name="robot_height" value="0.4" /> <!-- 定义小车机器人底盘 --> <xacro:macro name="base_link"> <link name="${robot_name}_base_link"> <visual> <geometry> <box size="${robot_width} ${robot_length} ${robot_height}" /> </geometry> <material name="blue"> <color rgba="0 0.5 1 1" /> </material> </visual> </link> </xacro:macro> <!-- 定义小车机器人轮子 --> <xacro:macro name="wheel"> <joint name="${robot_name}_wheel_joint" type="continuous"> <parent link="${robot_name}_base_link" /> <child link="${robot_name}_wheel_link" /> <origin xyz="0 0 0" rpy="0 0 0" /> <axis xyz="0 0 1" /> </joint> <link name="${robot_name}_wheel_link"> <visual> <geometry> <cylinder radius="0.1" length="0.05" /> </geometry> <material name="black"> <color rgba="0 0 0 1" /> </material> </visual> </link> </xacro:macro> <!-- 定义小车机器人级和运动结构 --> <xacro:macro name="robot"> <xacro:include filename="$(find urdf)/urdf.xacro" /> <robot name="${robot_name}" description="${robot_description}"> <xacro:base_link /> <!-- 第一 --> <joint name="${robot_name}_layer1_joint" type="prismatic"> <parent link="${robot_name}_base_link" /> <child link="${robot_name}_layer1_link" /> <origin xyz="0 0 ${robot_height / 2}" rpy="0 0 0" /> <axis xyz="0 0 1" /> <limit lower="0" upper="0.2" effort="1000" velocity="0.1" /> </joint> <link name="${robot_name}_layer1_link"> <visual> <geometry> <box size="${robot_width} ${robot_length} 0.1" /> </geometry> <material name="gray"> <color rgba="0.5 0.5 0.5 1" /> </material> </visual> </link> <!-- 第二 --> <joint name="${robot_name}_layer2_joint" type="prismatic"> <parent link="${robot_name}_layer1_link" /> <child link="${robot_name}_layer2_link" /> <origin xyz="0 0 0" rpy="0 0 0" /> <axis xyz="0 0 1" /> <limit lower="0" upper="0.2" effort="1000" velocity="0.1" /> </joint> <link name="${robot_name}_layer2_link"> <visual> <geometry> <box size="${robot_width} ${robot_length} 0.1" /> </geometry> <material name="gray"> <color rgba="0.5 0.5 0.5 1" /> </material> </visual> </link> <!-- 第三 --> <joint name="${robot_name}_layer3_joint" type="prismatic"> <parent link="${robot_name}_layer2_link" /> <child link="${robot_name}_layer3_link" /> <origin xyz="0 0 0" rpy="0 0 0" /> <axis xyz="0 0 1" /> <limit lower="0" upper="0.2" effort="1000" velocity="0.1" /> </joint> <link name="${robot_name}_layer3_link"> <visual> <geometry> <box size="${robot_width} ${robot_length} 0.1" /> </geometry> <material name="gray"> <color rgba="0.5 0.5 0.5 1" /> </material> </visual> </link> <!-- 运动结构 --> <joint name="${robot_name}_wheel1_joint" type="continuous"> <parent link="${robot_name}_layer3_link" /> <child link="${robot_name}_wheel1_link" /> <origin xyz="0.2 0 0" rpy="0 0 0" /> <axis xyz="0 0 1" /> </joint> <link name="${robot_name}_wheel1_link"> <xacro:wheel /> </link> <joint name="${robot_name}_wheel2_joint" type="continuous"> <parent link="${robot_name}_layer3_link" /> <child link="${robot_name}_wheel2_link" /> <origin xyz="-0.2 0 0" rpy="0 0 0" /> <axis xyz="0 0 1" /> </joint> <link name="${robot_name}_wheel2_link"> <xacro:wheel /> </link> </robot> </xacro:macro> <!-- 加载小车机器人 --> <xacro:robot /> </robot> ``` 此代码定义了一个名为“three_layer_robot”的三小车机器人,具有基础底盘、三个升降和两个轮子。可以根据需要对其进行修改和扩展。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值