2维平面相交(一):两矩形区域相交
最近遇到几种相交问题,看似简单的逻辑,却有多种不同的算法,不知你是否考虑过所用的算法好不好的问题。
两矩形区域相交
在写随机展示的一个模块时,需要判断随机生成的区域与原有区域是否相交
最近遇到几种相交问题,看似简单的逻辑,却有多种不同的算法,不知你是否考虑过所用的算法好不好的问题。
两矩形区域相交
在写随机展示的一个模块时,需要判断随机生成的区域与原有区域是否相交
最近用到IE的document.selection,遇到两个问题:
1.selection.clear file表单 导致form 无法 submit
demo
第一次点击提交按钮无法提交表单
在大学做web应用时,就搞过拖放,当时从网上搜索的相关程序,感觉代码很复杂,最终效果还不好,自己也没调通,所以在脑子里总感觉拖放是很复杂的东西。最近正好有时间,再写下这种程序。
要实现拖放,基本思路就是:鼠标点下时监听移动,抬起时停止监听。
var x,y;
function move(e) {
不知什么时候形成一种认识:运算符的优先级越高就越先执行,前两天在群里写了段代码:
var a =1;
function fn(){alert(a);}
var b = a++ + fn();
先看一段代码:
var a = function() {},
b = new a();
Function.prototype.isPrototypeOf(a);
Javascript及UI Render的单线程
讨论之前,首先需要理解的是js的单线程机制,即在同一时刻js只能执行一个任务,另外实际上浏览器的渲染也和js共用同一线程,这就意味着js在处理代码时浏览器会停止解析,如图所示:
当遇到js代码时js引擎会解析执行代码,此时浏览器渲染停止,直到脚本解析完毕才继续。当脚本执行耗时过长,尤其当引入外部脚本时加上脚本的加载时间,对ui渲染的阻塞更为严重,这是性能优化的一个方面,也是这篇文章为什么讨论脚本加载执行顺序的主要原因。
对于这次故障,回想有许多点可以避免,如果在这个点上怎样,如果在那个点上怎样…脑子也一直思考是意识的问题还是行为流程的问题,不能说没有足够的意识,但又是意识支配行为,在发布测试那段时间,本来清楚的记得要改动那个文件,后来改动文件目录时,却把这个文件忽略了,检查时也跟本没留意。意识是不怎么可靠的,什么什么的原因都可能影响到那段时间的意识,加强意识保持意识还需要很多的提升,我需要更多的思考和体会,但下面几点是对于这次故障我比较明确的体会和教训:
1.开发中根本不要引用本地/demo路径。php可以配置文件引用,assets也可以host/fiddler等等,虽然开发完可以通过很多方式检查是否引用来避免,但仍然不百分百可靠,所以根本就不要使用。
通过window属性的方式我们可以定义变量,主要在一些变量名未知时用到,window[variable]=sth;但是在IE下却有问题:
<html>
<body>
<script>
我们通过link 标签的media属性是可以指定打印样式的,隐藏无用的元素,只显示相应区域,这是一种最有效的方法。但是,某些情况下我们可能需要js来实现打印功能,而window.print方法有没有什么参数可用,我们必须来改变页面显示来实现打印某一区域。
改变页面呈现,很容易想到,可以直接改变本页面然后打印“后”再复原,(这是网上随处可见的方法),也可以在iframe中隐式打印,或者新打开个窗口来打印,下面是我实际测试这几种方法的问题:
[测试:win7/ opera 11.00,firefox 3.6.13, ie8,chrome7.0,sarfari5.0.3 ]
直接操作页面: