第773天:跑步(13) 篮球(6),上37度了,人生无常,两种情形叫人懒得动

星期五 多云 29~37.2℃(最高气温是手机天气预报下午发来的信息)

跑步(13),篮球(6)

昨晚 7 点过后出门,先中速跑一圈,然后投投篮。开始有 7 个人,之后走了几个剩下 4 个,正好打半场。

第一个球,球友刚发过来,球速太快,擦到脸上出了界。尝到了滋味,大家就很少传空中球了,要传也是擦地,更多的是各自突破上篮或中远投。隔壁篮一个球黑暗中突然越界出现在眼前,嘴角被擦破了皮。

昨天是真正的少吃多餐。下午四点多吃两个小面包,下班回家吃半碗饭,打完球回来歇一会又吃半碗。


上 37 度了

昨天还和水袖说杭州今年还没超过 35 度,不料今天就实现了,而且一上就是 37。


js 获取当前鼠标位置(或鼠标所点击对象的位置),动态改变 div 位置

参考(在此基础上修改):http://zhidao.baidu.com/question/107494921.html

<script>
var mouseX;
var mouseY;
function mouseDown(e) {
//此行兼容ff
e=e||event;
//记录鼠标在组件上按下时的位置, 可以通过加减常量来控制离鼠标的距离.
mouseX = e.clientX – 10;
mouseY = e.clientY + 10;
}
function showName() {
var infoDiv = document.getElementById(‘infoDiv’);
//infoDiv.innerHTML = ‘This is the name!’;
infoDiv.style.left = mouseX + “px”;
infoDiv.style.top = mouseY + “px”;
infoDiv.style.display = “block”;
}
//点击标题外部时隐藏DIV(供测试)
//document.onmousedown = function () {
//document.getElementById(‘infoDiv’).style.display = “none”;
//}
</script>
<div onmouseup=”showName()” onmousedown=”mouseDown(event)” style=”cursor:pointer”>Click here to display name.</div>
<!– 用来显示名字的DIV, 可根据需要修改格式和布局 –>
<div id=”infoDiv” style=”display:none; position:absolute; width:100px; height:50px; background-color:#F1F19B”>This is the name!</div>

注:

作者原方法使用 onmouseover 和 onclick 来触发,会有一点点小问题:

  1. 记录的是鼠标第一次放上去时的坐标,那么意味着在鼠标放上去之后移动到另一点上点击,此时记录的还是刚开始放上去时所在的位置。
  2. 只能点击一次,如果要点第二次的话,需要先点击 div 外部(这一点在有些场合里算不上是问题,只能说是一种选择)。

我改为 onmousedown 和 onmouseup 来触发,以降低第一个问题出现的概率,同时不会出现第二个“问题”。

另外,还有一个问题比较严重,发现作者的原方法在 ff 下无效,原因在于 event,自己在网上查,没解决,向 Ryan 请教,不过 Ryan 一时没空,所以又问了公司的一位程序员,结果两人同时解决了。除了 js 中的写法更改外,调用方法时还需要把 event 写上:mouseDown(event)。

**********

然而新的问题又来了,当页面出现滚动条时,上述方法无效。

公司的程序员改了一个,用在页面有滚动条的情形下。

有点遗憾的是,以下方法不是以鼠标为参考坐标,而是以所点击的对象为参考坐标。

上面的方法和下面的方法可以说是各有用途。

<script type=”text/javascript”>
var mouseX;
var mouseY;
function showName(obj) {
//在有些场合下ie和ff的“offsetLeft”“offsetTop”值不一样,所以分开写
if (window.ActiveXObject){
//如果是ie
mouseX = obj.offsetLeft + 22;
mouseY = obj.offsetTop + 22;
} else {
//其他游览器
mouseX = obj.offsetLeft + 22;
mouseY = obj.offsetTop + 22;
}
var infoDiv = document.getElementById(“infoDiv”);
infoDiv.style.left = mouseX + “px”;
infoDiv.style.top = mouseY + “px”;
infoDiv.style.display = “block”;
}
</script>
<div onclick=”showName(this)” style=”cursor:pointer”>Click here to display name.</div>
<div style=”height:1000px”></div>
<div onclick=”showName(this)” style=”cursor:pointer”>Click here to display name.</div>
<div style=”height:200px”></div>
<div id=”infoDiv” style=”display:none; position:absolute; width:100px; height:50px; background-color:#F1F19B”>This is the name!</div>

2010-07-12更新:

遇到一个问题,如果上方有不固定高度的 div,那么这里的绝对定位会出问题,解决办法是使用 scrollHeight 判断上方 div 的高度。

if(document.getElementById(“topDiv”) != null){
var topDiv = document.getElementById(“topDiv”).scrollHeight;
} else {
var topDiv = 0;
}
mouseY = obj.offsetTop + 22 + topDiv;


人生无常

下午雨寒在群里贴了一条《夏特古道事件:10名登山者在新疆遇险1死1失踪 8名队员均不同程度受伤》。随后看了千鸟的日志。未婚妻就这么没了。

雨寒感叹人生无常。

真的无常。

之后雨寒又贴了这篇《女子公交车站候车遭天降钢管击中》


两种情形叫人懒得动

看了小明转发的这篇《麻木的IT公民:293个公司人压力和心理调查》,有感:

有两种情形会让人懒得动:

一是长期不动;

一是压力大,长期被动的动。

前者已然成为一种习惯,后者则是一种逆反和厌倦抑或就像文章标题中写的“麻木”。

RSS

上一篇:

下一篇:

发表评论

电子邮件地址不会被公开。 必填项已用*标注