最近叔叔家的iTunes老是打不开,一双击就显示Error 7,非常郁闷,怎么重新卸载安装都没用。不可能为了一个iTunes去重装系统吧。。。那简直是杀鸡用牛刀。之前一直没在意,今天Google了一下,发现原来和QuickTime有关。貌似QuickTime被谁给删了,间接地把iTunes给搞死了。而重装iTunes的时候,它又检测到上一次的设置,没有再安装QuickTime,真是相当受不了。而且启动又不给任何提示。
所以,解决的办法就是,去Apple官方载一个QuickTime,给装上,就搞定了。
Solution: Download a QuickTime from Apple official website, and install it. iTunes will come alive.
Category: iOS
JavaScript中获取元素的绝对位置
在一些应用中,可能会有需要知道某一个控件在页面中的位置,在网上比较容易找到下面这个解决方法。
在页面中有一个按钮:
1 2 |
<input id="a" type="button" value="click me to get position" onclick="getPos(this)" /> |
在脚本中响应点击事件的是这个函数:
1 2 3 4 5 6 7 8 9 |
function getPos(e){ var t=e.offsetTop; var l=e.offsetLeft; while(e=e.offsetParent){ t+=e.offsetTop; l+=e.offsetLeft; } alert("top="+t+"\nleft="+l); } |
这个方法的实现相当精炼,意思就是先取得自己的相对位置,再叠加其最近的相对位置容器(offsetParent,它不一定是其父节点)的相对位置,直至顶层位置容器(一般就是body),从而得出该节点的相对位置。
不过,很快就发现这个函数也许并不够用,因为我在页面里有可能使用了一些CSS来使得本来平铺的画面变成一个滚动区域,例如设置了父节点的height为 某个值,并且其overflow设为auto或者scroll。这时,上面的方法因为没有计算其滚动偏移,所以所得的值不一定是元素当前的绝对位置,所以 我对上面的方法进行了一些小改动,实际上就是加入了对其滚动偏移量的计算。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
function getPosition(sender) { var e=sender,E=e; var x=e.offsetLeft; var y=e.offsetTop; while (e=e.offsetParent) { var P=e.parentNode; while (P!=(E=E.parentNode)) { x-=E.scrollLeft; y-=E.scrollTop; } x+=e.offsetLeft; y+=e.offsetTop; E=e; } return {"x":x,"y":y}; //alert("top="+y+"\nleft="+x); } |
稍微测试了一下,基本上在IE和FF中都能正常运转。
在运用方面,由于使用到往上遍历,如果节点树结构过于复杂,而且有不会有滚动出现的话,那么还是用第一个方法就足够了。
又跑了趟太平洋数码
昨天看ipod充电器的真伪对比照片,怎么看都感觉自己买到的充电器是假的。于是今天又去了趟太平洋电子城,最后证实是正品。顺便问了一下我买的ipod nano4国内上架时间,是9月30日,上架的,嘿嘿。
炫耀帖哈。
10月3日买了ipod nano4
纪念一下。当时买的时候还不知道nano4是刚出来的新产品呢,9月8日才在美国上市。估计我们大陆也就刚刚上架,就被我给买了。
Proudly powered by WordPress.
Theme: Flat 1.5.1 by YoArts.