2010年9月 文章归类

爆料:其实淘宝团购的聚划算每天有18款

好多人都一直很关注淘宝的聚划算(ju.taobao.com),而且也在抱怨淘宝的聚划算竟然每天才有3款,这是因为淘宝的聚划算里面有很多超值的宝贝可以购买,而我也是每天都定时的看一下聚划算有什么好的东东可以购买,已经购买了不少实惠的产品了。今天把聚划算的技巧跟大家说一下,其实淘宝每天的聚划算不止是3款宝贝,而是6款宝贝!

在一次同事的电脑中发现他的聚划算产品不跟我的电脑上面的一样,于是我怀疑是淘宝每天使用cookie设置了每个用户只能看到一组聚划算结果,我于是就通过删除电脑cookie、然后刷新页面的方法来获得更多的聚划算页面。

可是最近我发现了一个更好的方法,就是通过链接直接进入,其实淘宝团购的真实链接是:http://www.taobao.com/go/act/sale/juhuasuan_01.php
http://www.taobao.com/go/act/sale/juhuasuan_02.php……
依次类推,一共六组~呵呵,团购达人快去抢购吧!

解决jQuery中dbclick事件触发两次click事件

在jQuery事件绑定中,dbclick可以触发两次click事件。例如一个DOM元素div,既绑定了 click 事件,又绑定了 dblclick 事件,这两个事件分别要做独立的事情。事件处理上没有冲突,都可以各自完成各自的操作。双击的时候虽然是执行了 dblclick 事件,但是在这之前,也执行了click 事件,那么,如何来禁止或者说屏蔽这次多余的 click 事件呢?本文将提供给您一个比较好的解决办法。

产生原理分析

  首先,来了解一下点击事件发生的先后顺序:

单击:mousedown, mouseup, click
双击:mousedown, mouseup, click, mousedown, mouseup, click, dblclick
  由此看来,dblclick 事件发生之前,实际上发生了两次 click 事件。其中,第一次的 click 是会被屏蔽掉,但是第二次则不会,所以就出现在双击的时候,也触发 click 事件。
继续阅读全文……

css解决chrome 12px字号限制

很早之前断桥残雪写过一篇关于chrome最小字体12px的解决方法,但是没有提出来在CSS中的解决方法,今天看了芒果的文章,终于找到了解决的方法了。要解决chrome中最小字体为12px的问题,我们可以使用Webkit 的内核的 -webkit-text-size-adjust 的私有 CSS 属性来解决,比如下面的代码就可以成功的解决,通过它即可实现字体大小不随终端设备或浏览器影响。样式定义如下:

#chrome10px{
-webkit-text-size-adjust:none;
font-size:10px;
}

纠结了大半年的chrome字体12px的限制问题终于找到了CSS的解决方法了!
上图看看:

css解决chrome字体限制12px

css解决chrome字体限制12px

IE event.stopPropagation()阻止冒泡事件

在火狐Firefox、opera、IE下阻止冒泡事件是不同的代码的,火狐下使用的是event.stopPropagation(),而IE下使用的是cancelBubble,jQuery 可以使用e.stopPropagation()就可以兼容了,如果是纯粹的JavaScript需要下面的代码来统一:

if (event.stopPropagation) {
// this code is for Mozilla and Opera
event.stopPropagation();
}
else if (window.event) {
// this code is for IE
window.event.cancelBubble = true;
}

Jquery中的offset()和position()方法详解

再给普加地图添加搜索提示的时候,我使用了jQuery的offset方法,因为习惯了,结果出现了不对齐的bug,说明offset的方法获取的top和left值是错误的。后来想起了jQuery中offsetposition的两个方法有所不同,就查了一下google,原来两者是在父节点的相对绝对定位相关的。于是整理了今天的文章。

我们首先来看看这两个方法的定义。

jQuery的offset()方法

获取匹配元素在当前视口的相对偏移。
返回的对象包含两个整形属性:top 和 left。此方法只对可见元素有效。

jQuery的position()方法

获取匹配元素相对父元素的偏移。
返回的对象包含两个整形属性:top 和 left。为精确计算结果,请在补白、边框和填充属性上使用像素单位。此方法只对可见元素有效。
继续阅读全文……

IE中flash遮挡div现象的解决方案

今天开始给网站首页的广告管理系统添加flash广告代码,结果出现IE中(包括IE6+)弹窗广告要flash遮挡的问题,后来想到了常用的iframe方法(参见《解决IE6 select z-index无效,遮挡div的bug》),最终成功了flash遮挡DIV的bug,但是在IE中还出现了浮动的DIV变化位置后,flash出现div碎片的拖尾现象。继续寻找解决方案。最后终于找了原来flash有个参数wmode可以设置,于是代码变成了这样:

<embed src=”s.swf” quality=”high” wmode=”Opaque” width=”150″ height=”240″></embed>

于是IE中Flash遮挡DIV的问题成功解决了,看图:

flash遮挡div问题的解决方案

flash遮挡div问题的解决方案

断桥残雪部落格最新的订阅地址

订阅更“健康”

关于wBox iFrame回调关闭问题的解决方案

最近很多使用我的jQuery弹出框插件wBox的人问我,关于wBox的关闭问题,例如一个页面中使用wBox iframe进来一个页面,而这个页面是进行用户登录,登录成功就关闭wBox,其实实现回调关闭wBox的方法很简单,就是使用iframe的DOM操作即可,例如我们的代码这样写:

//wbox赋值出来,然后使用wbox对象的close的方法关闭
var wbox=$("#iframe").wBox({
   	requestType: "iframe",
	target:"b.html"
   });

那么我们在页面b.html中进行了用户登录验证,我们验证成功,要关闭wBox,就可以在b.html中使用parent.wbox.close()来进行关闭,就像下面的代码,只要我们验证完毕运行closewBox就可以关闭了iframe:

function closewBox(){
    parent.wbox.close()
}

关于iframe子页面与父页面之间的DOM操作可以参考下面的文章:《使用JavaScript在IE和Firefox下进行iframe的DOM操作

提高Firefox的innerHTML()的性能

Firefox 下innerHTML在操作量大了以后性能下降很厉害,有人写了个提高innhtml性能的代替方法:

function replaceHtml(el, html) {
var oldEl = typeof el === "string" ? document.getElementById(el) : el;
/*@cc_on // 原始的 innerHTML 在 IE 中的性能好一点
oldEl.innerHTML = html;
return oldEl;
@*/
var newEl = oldEl.cloneNode(false);
newEl.innerHTML = html;
oldEl.parentNode.replaceChild(newEl, oldEl);
/* 一旦我们从 DOM 上移除老的元素,则返回新的元素引用。*/
return newEl;
};

可以直接用el=replaceHtml(el, newHtml)代替el.innerHTML=newHtml

速度到底有多大提升,还得测试说话。作者提供了一个测试页面:http://stevenlevithan.com/demo/replaceHtml.html

此方法大大提高了 innerHTML 在 Firefox 和 Safari 上的性能。replaceHtml() 在 Firefox 2.0.0.6 里 destroy 与 replace 的速度各快了 473 倍以及 50 倍。而在 Safari 3.0.3 beta 上则是 create 100 倍,replace 50 倍。
继续阅读全文……

使用PHP把excel(xls)文件导入mysql数据库

昨晚一个客户联系我做网站,提出的要求是需要把客户提供的excel文件里面的数据导入到mysql数据库,最常用的方法就是先把xls文件导出为csv格式的文件,然后在解析csv格式的文件导入到mysql数据库。方法比较冗余,而且分好几步进行,很不方便,断桥残雪今天介绍一种方法是直接跳过csv的中间环节,直接把excel文件导入mysql数据库。

首先我们需要下载PHP-ExcelReader这是一个开源的项目,主要是来解析excel的文件,下载地址:http://sourceforge.net/projects/phpexcelreader,下载之后解压,主要用到excel文件夹里面的两个文件reader.php和oleread.php(这个文件默认的是oleread.inc,不清楚为啥,一堆e文,没看,直接改名即可)。

在reader.php文件中找到以下类似代码(第一行既是),改成正确的oleread.php路径即可:require_once 'oleread.php';

然后新建一个php文件引入reader.php, 继续阅读全文……

第1页 / 共2页 12
返回顶部