如何让Html代码更干净(Behaviour)

许多年以前,当我们的网页变得美观起来的时候,HTML也相应的臃肿了起来。
CSS的出现和发展,使得我们终于可以把HTML变得干净了。class,id也取代了font,color等标签的属性,几乎所有的美化我们都可以通过CSS来进行。
但是HTML和CSS的蜜月被JS破坏了。为了使页面交互能力更强,我们不得不在许多HTML标签里使用οnclick=”func()”,οnmοuseοver=”func();”这样的东西。例如yahoo首页,如果你查看它的HTML源代码,你将会发现很多onclick这样的东西。

如果我想知道一个元素中的HTML代码(innerHTML), 我不得不这样写

<span id="t1">
<a href="http://www.surfchen.org" onClick="alert(this.innerHTML);return false;">点我</a>
<a href="http://www.surfchen.org" onClick="alert(this.innerHTML);return false;">再点这个</a>
</span>

或许,有经验地js程序员会这样处理。

<span id="t1">
<a href="http://www.surfchen.org">点我</a>
<a href="http://www.surfchen.org">再点这个</a>
</span>
<script type="text/javascript">
<!--
for (i=0;c=document.getElementById("t1").getElementsByTagName("a").item(i);i++ )
{
	c.οnclick=function(){
		alert(this.innerHTML);
		return false;
	}
}
//-->
</script>

这样就让HTML代码美观好多了,但是有个缺点,就是for 语句必须放在HTML元素之后。。
更加高明一点的程序员会把这个for放在函数里,然后在window.onload调用该函数。这样可以使得不用在HTML元素输出后再写这个for.

<script type="text/javascript">
<!--
var js_style={
	'#t1 a':function(e)//指明了行为对象为id=t1下的所有a元素,e为当前的元素对象
	{
		e.οnclick=function()//给当前对象加上onclick事件
		{
			alert(this.innerHTML);
			return false;
		}
	},//这里用个逗号
      '#t2 a':function(e)//指明了行为对象为id=t1下的所有a元素,e为当前的元素对象
	{
		e.οnclick=function()//给当前对象加上onclick事件
		{
			alert(this.innerHTML);
			return false;
		}
	}
}
Behaviour.register(js_style);//注册上面的“js样式”
//-->
</script>
<span id="t1">
<a href="http://www.surfchen.org">点我</a>
<a href="http://www.surfchen.org">再点这个</a>
</span>
<span id="t2">
<a href="http://www.surfchen.org">点我</a>
<a href="http://www.surfchen.org">再点这个</a>
</span>
 转自:http://www.surfchen.org/?p=59
以下是一个示例代码,演示了如何使用Vuforia的Background Plane Behaviour来控制背景平面的行为: ```csharp using UnityEngine; using Vuforia; public class BackgroundPlaneController : MonoBehaviour { private BackgroundPlaneBehaviour backgroundPlane; void Start() { // 获取Background Plane Behaviour组件 backgroundPlane = GetComponent<BackgroundPlaneBehaviour>(); // 检查是否成功获取Background Plane Behaviour组件 if (backgroundPlane != null) { // 设置背景平面的自动新状态为开启 backgroundPlane.SetAutomaticUpdatesEnabled(true); } } public void EnableBackgroundPlane(bool enable) { // 启用或禁用背景平面 if (backgroundPlane != null) { backgroundPlane.enabled = enable; } } public void SetBackgroundPlaneTexture(Texture2D texture) { // 设置背景平面的纹理 if (backgroundPlane != null) { backgroundPlane.GetComponent<Renderer>().material.mainTexture = texture; } } } ``` 这个示例代码中的`BackgroundPlaneController`脚本可以添加到具有Vuforia背景平面的GameObject上。在`Start`方法中,它获取了`BackgroundPlaneBehaviour`组件,并将背景平面的自动新状态设置为开启。通过`EnableBackgroundPlane`方法可以启用或禁用背景平面,通过`SetBackgroundPlaneTexture`方法可以设置背景平面的纹理。 请注意,为了使该代码正常工作,您需要确保已经正确设置了Vuforia并启用了背景平面功能。还需要将纹理赋值给背景平面的材质,并将其传递给`SetBackgroundPlaneTexture`方法。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值