学习杂记

近期工作学习中总结的一些js和ruby小知识点:
  • 1.jquery的toggleClass(class)函数,api上说如果存在(不存在)就删除(添加)一个类。之前误以为toggle之后会删除原先的class,结果是添加了。例如:class="aa" 而toggleClass('bb') 之后,就会变为class='aa bb'

  • 2.jquery的$() 就是 js 的()(),让匿名函数自动执行。

  • 3.一段代码:
<a onclick="hideItem ( 'charge_tips' ); showItem ( 'charge_tips_submit' );" style="display: block;" class="button" target="_blank" href="/modules/charge.php?act=pay&amp;account=yaga_tong">立即兑购</a>
这是某网页游戏的一段代码,这个a标签用的好丰富,hide,show然后再href
  • 4.在ruby类方法和常量,类似于js的prototype,实例方法和js对象后期绑定的方法也基本类似,都只是叫法上不同罢了。

  • 5.看到ruby的Object和Class之间的关系的阐述,搞的晕乎乎的,以及后面的几个概念Module,Kernel,还好je知识库有篇文章介绍的比较清楚:http://bryanzk.iteye.com/blog/109916..于是可以这样理解:在ruby中,Object是所有对象的父类,是Class的实例,Class是Module的子类,Module的最顶层模块是Kernel,就像Object是继承树的最顶层一样。

  • 6.html 元素table,默认的会有一个子元素tbody
<table id='tab'></table>
$('#tab').children().size()//会是1,children只有一个,是tbody
$('#tab').empty();
$('#tab').children().size();//会是0


  • 7.ruby 中的方法搜索路径:
object = D.new object.x ==> 类D ==> 类D mixed-in module ==> D的父类 ==> D的父类 mixed-in module  …… ==> 继承树顶端对象Object类 ==> Object mixed-in Kernel

如果到了Kernel还没有找到x方法,则触发内建方法method_missing。如果在查找路径中出现了多个匹配的方法(这些方法可能来自与方法调用对象有关的任意多个类和模块),那么按照规则,对象只能看到与该名字匹配的方法的一个版本,所以第一个碰到的方法被选中执行。当在查找路径上包含了众多匹配的方法,但第一个匹配的并不是我们的要的那个方法时,可以用super关键字来将查找路径向上提升一个级别,并且可以可选的向上传递参数。另外,我们常用的Ruby对象的方法都是定义在Kernel中的,例如respond_to?、object_id和send等.
  • 8.从firebug中复制过来的html源码有些时候不能直接用于js代码去生成同样的html,比如复制的html经常会有<div/><td/> <td></td>等,这样虽然能生成html元素,但是加上样式就会出现问题,经常导致看似没问题,但是样式总是对不上。不得不把那些样式有问题的div修改为<div></div> 或者,<td></td>、<td/>等修改为<td>&nbsp;</td>.尤其是那些用于构成边框边角的元素,应该尤为注意。

  • 9.遮罩层透明度的问题。opacity: 0.2;filter:alpha(opacity=20),ie下必须加入filter,具体原理不是很清楚,不过google了一下,ie下的滤镜的确问题多多。下面这段代码经过证明是可用的,在ie和ff下测试通过。

<div style="border: 0px none ; background-color: rgb(0, 0, 0); width: 100%; height: 100%; z-index: 110; position: absolute; top: 0px; left: 0px; opacity: 0.2;filter:alpha(opacity=20)" id="mask"/>

你可能感兴趣的:(jquery,游戏,IE,Ruby,网页游戏)