志凡'S BLOG

关注PHP,WEB开发,jquery ,PHP教程,程序优化,还有一些些互联网的乱七八糟的一些东西

Archive for the ‘js’ tag

js中鼠标滚轮事件详解.

without comments

之前js 仿Photoshop鼠标滚轮控制输入框取值中已使用js对鼠标滚轮事件进行控制,滚轮事件其中考虑浏览器兼容性问题

附加事件

其中经我测试,IE/Opera属于同一类型,使用attachEvent即可添加滚轮事件。

/*IE注册事件*/
if(document.attachEvent){
document.attachEvent(’onmousewheel’,scrollFunc);
}

Firefox使用addEventListener添加滚轮事件

/*Firefox注册事件*/
if(document.addEventListener){
document.addEventListener(’DOMMouseScroll’,scrollFunc,false);
}

Safari与Chrome属于同一类型,可使用HTML DOM方式添加事件

window.onmousewheel=document.onmousewheel=scrollFunc;//IE/Opera/Chrome

其中除Firefox外其余均可使用HTML DOM方式添加事件,因此添加事件使用以下方式

/*注册事件*/
if(document.addEventListener){
document.addEventListener(’DOMMouseScroll’,scrollFunc,false);
}//W3C
window.onmousewheel=document.onmousewheel=scrollFunc;//IE/Opera/Chrome

detail与wheelDelta

判断滚轮向上或向下在浏览器中也要考虑兼容性,现在五大浏览器(IE、Opera、Safari、Firefox、Chrome)中Firefox 使用detail,其余四类使用wheelDelta;两者只在取值上不一致,代表含义一致,detail与wheelDelta只各取两个值,detail只取±3,wheelDelta只取±120,其中正数表示为向上,负数表示向下。

<p><label for=”wheelDelta”> 滚动值:</label>(IE/Opera)<input type=”text” id=”wheelDelta” /></p>
<p><label for=”detail”> 滚动值:(Firefox)</label><input type=”text” id=”detail” /></p>
<script type=”text/javascript”>
var oTxt=document.getElementById(”txt”);
/***********************
* 函数:判断滚轮滚动方向
* 作者:walkingp
* 参数:event
* 返回:滚轮方向 1:向上 -1:向下
*************************/
var scrollFunc=function(e){
var direct=0;
e=e || window.event;

var t1=document.getElementById(”wheelDelta”);
var t2=document.getElementById(”detail”);
if(e.wheelDelta){//IE/Opera/Chrome
t1.value=e.wheelDelta;
}else if(e.detail){//Firefox
t2.value=e.detail;
}
ScrollText(direct);
}
/*注册事件*/
if(document.addEventListener){
document.addEventListener(’DOMMouseScroll’,scrollFunc,false);
}//W3C
window.onmousewheel=document.onmousewheel=scrollFunc;//IE/Opera/Chrome/Safari
</script>

预览效果http://www.51obj.cn/demo/js/wheelDelta_detail.html

(部分图片见原文:http://www.51obj.cn/?p=637
(以上内容部分内容参考了http://adomas.org/javascript-mouse-wheel/

Written by zifa

三月 5th, 2010 at 10:52 下午

Posted in JavaScript

Tagged with

Lazy Load, 延迟加载图片的 jQuery 插件

with one comment

Lazy Load 是一个用 JavaScript 编写的 jQuery 插件. 它可以延迟加载长页面中的图片. 在浏览器可视区域外的图片不会被载入, 直到用户将页面滚动到它们所在的位置. 这与图片预加载的处理方式正好是相反的.

在包含很多大图片长页面中延迟加载图片可以加快页面加载速度. 浏览器将会在加载可见图片之后即进入就绪状态. 在某些情况下还可以帮助降低服务器负担.

Read the rest of this entry »

Written by zifa

一月 31st, 2010 at 8:50 下午

Posted in JavaScript

Tagged with , , ,

图片展示页面细节问题

with one comment

最近把我们的图片查看页面优化了一下,原来点击切换图片都是直接链接,现在改为直接js 实现,实现方法很简单无非就是给大图的src赋值。

第一版本做好,没想到IE6下死活图片出不来。

最终发现两个小问题导致的。

1. <a href=”javascript:void(0)” onclick=”set(1);”>

改为

<a href=”javascript:void(0)” onclick=”set(1);return false;”>

2.

function showPreview(newSrc)
{
$(’#waitMessage’).show();

previewImage.onload = function() { hideWaitMessage();};
previewImage.src = newSrc;
$(’#bigHref’).attr(’href’,newSrc);
}

改成:

function showPreview(newSrc)
{
$(’#waitMessage’).show();

previewImage.onload = function() { hideWaitMessage();$(’#bigHref’).attr(’href’,newSrc);};
previewImage.src = newSrc;

}

最终效果:http://www.273.cn/sale/attachs.php?id=1379721&objectId=1377046

Written by zifa

八月 6th, 2009 at 12:52 下午

Posted in JavaScript

Tagged with ,

基于jquery的漂亮内容滚动展示

without comments

Written by zifa

六月 27th, 2009 at 11:48 上午

Posted in JavaScript

Tagged with , , ,

强大的Jquery图表绘制插件 —— jqPlot

without comments

jqPlot是一款基于jquery类库的图标绘制插件。通过jqPlot可以再网页中绘制线状、柱状、饼状等多种样式图表。而且,jqPlot具有插件可扩展性(Pluggability),你可以编写自己的图表样式。

在jqPlot主页的自我介绍中有这样一句话:“jqPlot is a plotting plugin for the jQuery Javascript framework.”。这里我并不认同他所说的jquery是一个javascript框架,jquery只能说是一个javascript库(javascript library),相信在jquery主页也找不到javascript framework的字眼。

jqPlot功能简介:

  1. 有多种图表样式可供选择
  2. 可以自定义日期轴线
  3. 可设置旋转轴文字
  4. 自动计算趋势线
  5. 工具条提示和高亮数据点
  6. 默认最优设置,非常易于使用

以上功能在jqPlot主页中的示例页面有很多直观的展示。这里是它详细使用文档。


Written by zifa

六月 21st, 2009 at 12:27 上午

Posted in JavaScript

Tagged with , ,

js中this的总结

without comments

在面向对象编程语言中,对于this关键字我们是非常熟悉的。比如C++、C#和Java等都提供了这个关键字,虽然在开始学习的时候觉得比较难,但只要 理解了,用起来是非常方便和意义确定的。JavaScript也提供了这个this关键字,不过用起来就比经典OO语言中要”混乱”的多了。

下面就来看看,在JavaScript中各种this的使用方法有什么混乱之处?

1、在HTML元素事件属性中inline方式使用this关键字:

<div onclick=”
// 可以在里面使用this

“>division element</div>

我们一般比较常用的方法是在此使用:javascirpt: EventHandler(this),这样的形式。不过这里其实可以写任何合法的JavaScript语句,要是高兴在此定义个类也可以(不过将会是个 内部类)。这里的原理是脚本引擎生成了一个div实例对象的匿名成员方法,而onclick指向这个方法。

2、用DOM方式在事件处理函数中使用this关键字:
Read the rest of this entry »

Written by zifa

六月 3rd, 2009 at 9:02 下午

Posted in JavaScript

Tagged with

图片上的左右箭头js代码

without comments

应该很早大家都看过QQ相册上的左右箭头功能,使用起来很方便,现在整理出js代码的实现


查看DEMO

Written by zifa

五月 30th, 2009 at 12:03 下午

Posted in JavaScript

Tagged with , ,

jQuery性能优化指南

without comments

1,总是从ID选择器开始继承

在jQuery中最快的选择器是ID选择器,因为它直接来自于JavaScript的getElementById()方法。

例如有一段HTML代码: Read the rest of this entry »

Written by zifa

五月 22nd, 2009 at 4:00 下午

Posted in JavaScript

Tagged with , ,

超炫js幻灯片广告代码

with 5 comments

Written by zifa

三月 9th, 2009 at 1:45 下午

Posted in JavaScript

Tagged with ,

首个开发的JS游戏:坦克大战箱子(javascript游戏)

with 6 comments

今天使用js开发了个小游戏。

欢迎试玩:http://coderhome.net/tank/

请提出建议。

Written by zifa

一月 23rd, 2009 at 11:58 下午

Posted in JavaScript

Tagged with , ,