标签: Jquery插件

jquery滚动条插件slimScroll

jQuery slimScroll插件是一个支持把内容放在一个盒子里面,固定一个高度,超出的则使用滚动。该插件挺好的。

不过不支持resize的时候重新调用插件,有一个贡献者已经修改过源码,不过作者并没有加进去。

插件项目地址:http://rocha.la/jQuery-slimScroll ,该插件不支持IE7。
阅读详细 »

Fancybox丰富的弹出层效果

Fancybox的特点如下:

    可以支持图片、html文本、flash动画、iframe以及ajax的支持
    可以自定义播放器的CSS样式
    可以以组的形式进行播放
    如果将鼠标滚动插件(mouse wheel plugin)包含进来的话Fancybox还能支持鼠标滚轮滚动来翻阅图片
    Fancybox播放器支持投影,更有立体的感觉

演示地址:

http://demo.lrxin.com/2015/09/Fancybox/Fancybox1.3.1/

http://demo.lrxin.com/2015/09/Fancybox/fancybox%20v1.3.4/

http://demo.lrxin.com/2015/09/Fancybox/fancyBox2.1.5/

下载地址:

Fancybox1.3.1.rar    http://pan.baidu.com/s/1bnnZLOb
fancybox v1.3.4.rar  http://pan.baidu.com/s/1qJEkm
fancyBox2.1.5.rar    http://pan.baidu.com/s/1o6qvkAA

fancybox具有以下特性:

可以加载DIV、图片、图片集、Ajax数据、SWF影片,iframe页面等。
支持键盘方向键和ESC键。
丰富的参数设置和方法调用。
可扩展性强。

如何使用?

本文以DEMO中的Demo2为例,讲解fancybox的使用。

1、添加javascript引用和css文件的引用

<link rel="stylesheet" type="text/css" href="fancybox.css" />
<script type="text/javascript" src="js/jquery.js"></script>
<script type="text/javascript" src="js/fancybox.js"></script>

2、HTML

<h4>图片集,支持键盘方向键</h4>
<p>
   <a rel="group" href="images/b1.jpg" title="图片标题"><img alt="" src="images/s1.gif" /></a>
   <a rel="group" href="images/b2.jpg" title="图片标题"><img alt="" src="images/s2.gif" /></a>
   <a rel="group" href="images/b3.jpg" title="蓝天白云绿草"><img alt="" src="images/s3.gif" /></a>
</p>

3、调用fancybox

$(function(){
    $("a[rel=group]").fancybox({
        'titlePosition' : 'over',
        'cyclic'        : true,
        'titleFormat'    : function(title, currentArray, currentIndex, currentOpts) {
                    return '<span id="fancybox-title-over">' + (currentIndex + 1) +
 ' / ' + currentArray.length + (title.length ? '   ' + title : '') + '</span>';
                }
    });
});

注意,fancybox的参数设置格式为:’key’:’value’。titlePosition:设置图片标题的显示位置为图片上。cyclic:设置图片浏览方式为循环浏览。titleFormat:设置图片标题的格式,可以显示图片总数和当前图片顺序。

fancybox插件主要参数和方法一览表

参数/方法 描述 默认值
基本
width 设置弹出串口的宽度,当内容为swf,iframe或者单行文字时,
应该将’autoDimensions’ 设置为false
560
height 设置弹出串口的高度,当内容为swf,iframe或者单行文字时,
应该将’autoDimensions’ 设置为false
340
cyclic 是否循环显示,当内容为图片集时。 false
centerOnScroll 弹出窗口始终浏览器居中。 false
modal 是否使用模式窗口。当设置为true时,应该同时将:’hideOnOverlayClick’,’hideOnContentClick’,
‘enableEscapeButton’,
‘showCloseButton’ 设置为false,并将’overlayShow’ 设置为true
false
titlePosition 标题的位置,可以设置为’outside’, ‘inside’ or ‘over’ ‘outside’
transitionIn, transitionOut 窗口显示的方式,可以设置为’elastic’, ‘fade’ or ‘none’ ‘fade’
send 方法,向服务端发送裁剪图片的数据,以便服务端接收参数进行处理,
e.g: cropzoom.send(‘process.php’,’POST’,{id=1},function(r){ alert(r); });
 
方法
$.fancybox.showActivity 显示加载动画  
$.fancybox.hideActivity 隐藏加载动画  
$.fancybox.close 关闭窗口  
$.fancybox.resize 自动调整窗口的高度使之与内容相适应  
Centered 是否将选区居中,即显示在容器的中心。  

更多参数和方法请参照http://fancybox.net/api

中文api地址: http://doc.bropaul.com/fancyBox/

Lightbox图片弹出层插件效果下载

Lightbox图片弹出层插件效果下载

在线演示地址:http://demo.lrxin.com/2015/09/jquery-lightbox/

下载地址:jquery-lightbox.zip   http://pan.baidu.com/s/1jGldIce

jQuery Lazy Load 图片延迟加载 插件 1.7.2

jQuery Lazy Load 图片延迟加载 插件 1.7.2

基于 jQuery 的图片延迟加载插件,在用户滚动页面到图片之后才进行加载。
对于有较多的图片的网页,使用图片延迟加载,能有效的提高页面加载速度。

版本:
·jQuery v1.4.4+
·jQuery Lazy Load v1.7.2

注意事项:
·需要真正实现图片延迟加载,必须将真实图片地址写在 data-original 属性中。若 src 与 data-original 相同,则只是一个特效而已,并不达到延迟加载的功能。

查看demo:http://demo.lrxin.com/2015/09/jquery.lazyload_v1.7.2_demo/

官方地址:http://www.appelsiini.net/projects/lazyload

下载地址:https://github.com/tuupola/jquery_lazyload/

下载地址2: http://pan.baidu.com/s/1o6j9DQ6

demo下载:http://pan.baidu.com/s/1i3ixY6L

js文件下载地址:http://demo.lrxin.com/2015/09/jquery.lazyload_v1.7.2_demo/jquery.lazyload.min.js

示例代码:

<!DOCTYPE html >
<html>
<head>
<meta charset="utf-8" />
<title>jQuery Lazy Load 图片延迟加载1.7.2</title>
<script src="jquery.js"></script> 
<script src="jquery.lazyload.min.js"></script> 
<script>
$(function(){
	$('.lazy img').lazyload({
		effect: 'fadeIn' 
	});
});
</script>
</head>
<body>
<!-- 
将真实图片地址写在 data-original 属性中,而 src 属性中的图片换成占位符的图片(例如 1x1 像素的灰色图片或者 loading 的 gif 图片) 
添加 class="lazy" 用于区别哪些图片需要延时加载,当然你也可以换成别的关键词,修改的同时记得修改调用时的 jQuery 选择器 
添加 width 和 height 属性有助于在图片未加载时占满所需要的空间 
--> 
<div class="lazy" style="width:800px;">
        <img src="img/grey.gif" data-original="img/bmw_m1_hood.jpg" width="765" height="574" alt="BMW M1 Hood">
        <img src="img/grey.gif" data-original="img/bmw_m1_side.jpg" width="765" height="574" alt="BMW M1 Side">
        <img src="img/grey.gif" data-original="img/viper_1.jpg" width="765" height="574" alt="Viper 1">
        <img src="img/grey.gif" data-original="img/viper_corner.jpg" width="765" height="574" alt="Viper Corner">
        <img src="img/grey.gif" data-original="img/bmw_m3_gt.jpg" width="765" height="574" alt="BMW M3 GT">
        <img src="img/grey.gif" data-original="img/corvette_pitstop.jpg" width="765" height="574" alt="Corvette Pitstop">
</div>
</body>
</html>

参数说明:

<script>
$(function(){
	$('img.lazy').lazyload({
	    effect:'fadeIn' , //加载使用的动画效果,如 show, fadeIn, slideDown 等 jQuery 自带的效果,或者自定义动画。Fadein 淡入动画效果  |  show 直接显示 
	    effectspeed : 800 , //动画时间。作为 effect 的参数使用:effect(effectspeed) 动画的时间为400毫秒. 
	    event:'scroll'  ,  //绑定事件 scroll  click mouseover
	    threshold       : 0, //灵敏度。默认为 0 表示当图片出现在显示区域中的立即加载显示;设为整数表示图片距离 x 像素进入显示区域时进行加载;设为负数表示图片进入显示区域 x 像素时进行加载。 距离 多少像素时, 开始加载  
            failure_limit   : 0, // 容差范围。页面滚动时,Lazy Load 会遍历延迟加载的图片,检查是否在显示区域内,默认找到第 1 张不可见的图片时,就终止遍历。因为 Lazy Load 认为图片的排序是与 HTML 中的代码中的排序相同,但是也可能会出现例外,通过该值来扩大容差范围。 当Lazy Load 在找到第一个未显示的 <img> 标签时,查找已经被终止了, 并没有继续往下遍历.  | failure_limit : 10 这样 Lazy Load 会查找到第10个未显示的<img>标签处.当在图片多且布局复杂的页面时, failure_limit 的作用就很大了. 
            data_attribute  : "original", //
            skip_invisible  : true,    //skip_invisible 加载不可见的图片. Lazy Load 插件默认对隐藏的图片不加载(例如 display:none ). 这样做有助于性能的优化.如果希望连隐藏的图片一起加载,则可以把 skip_invisible 设为 false . 
	    data_attribute :	'original' , //真实图片地址的 data 属性后缀  
	    container: $('#container') , //父容器。延迟加载父容器中的图片. 默认 window 当要延迟加载的图片全摆在一个容器中.只需把 container 属性指向摆放 img 的容器的对象.
            appear          : null, // 图片加载时的事件 (Function),有 2 个参数:elements_left(未加载的图片数量)、settings(lazyload 的参数)
            load            : null  // 图片加载后的事件 (Function),有 2 个参数,同 appear 
	});
});
</script>

关于 apper 和 load 两个函数的 参数 可以参考下面代码调试

<script>
$(function(){
  $('img').lazyload({
    effect:'fadeIn'
    /*
    ,
    appear:function(elements_left, settings) {
      console.log('appear');
      console.log(elements_left);
      //console.log(this, elements_left, settings);
    },
    load:function(elements_left, settings) {
      console.log('load');
      console.log(elements_left);
      //console.log(this, elements_left, settings);
    }
    */
  });
});
</script>

Load Images Using Timeout 定时加载图像
当前显示区域内的图像会进行加载,显示区域以外的图像会在延迟 5 秒之后进行加载。

<script src="/js/jquery-1.7.2.min.js"></script>
<script src="js/jquery.lazyload.min.js"></script>
<script>
$(function(){
  $('img').lazyload({
    effect:'fadeIn',
    event:'sporty'
  });
});

$(window).bind('load', function(){
  var timeout = setTimeout(function(){
    $('img').trigger('sporty')
  }, 5000);
});
</script>

Noscript Fallback 不支持 JavaScript 时的降级示例
演示在不支持 JavaScript 的浏览器访问时,是如何运作的。参照下面的代码:

<style>
.lazy {
  display: none;
}
</style>
<img class="lazy" src="grey.gif" data-original="example.jpg" width="765" height="574">
<noscript><img src="example.jpg" width="765" height="574"></noscript>

$('img.lazy').show().lazyload({
  effect: 'fadeIn'
});

.Page With Gazillion Images 大量图片的示例
当页面中存在上百张,甚至数百张图片时,建议使用 scrollstop 事件。

<script src="jquery.scrollstop.js"></script>
 <img src="grey.gif" data-original="example.jpg">
$('img').lazyload({
  event: 'scrollstop'
});

自定义 滚动停止事件 scrollstop
jquery.scrollstop.js文件下载地址 : http://demo.lrxin.com/2015/09/jquery.lazyload_v1.7.2_demo/jquery.scrollstop.js


jQuery手机全屏上下滑动滚屏插件touchSwipe

插件touchSwipe可监听单个和多个手指触摸,鼠标按着左键拖动等事件,因此插件可以实现滑动滚屏、缩放等效果。
特点:

1、监听滑动的4个方向:上、下、左、右;

2、监听多个手指收缩还是外张;

3、支持单手指或双手指触摸事件;

4、支持单击事件touchSwipe对象和它的子对象;

5、可定义临界值和最大时间来判断手势的实际滑动;
6、滑动事件有4个触发点:“开始”,“移动”,“结束”和“取消”;

7、结束事件可以在手提释放或是快速达到临界值时触发;

8、允许手指刷和页面滚屏;

9、可禁用户通过输入元素(如:按钮、表单、文本框等)触发事件;

官方网站:
http://labs.rampinteractive.co.uk/touchSwipe
http://labs.rampinteractive.co.uk/touchSwipe/docs

https://github.com/mattbryson/TouchSwipe-Jquery-Plugin

中文网站:

http://www.swiper.com.cn/

备用下载:

http://pan.baidu.com/s/1sjrDFXj

$(function() {      
  $("#test").swipe( {
    swipe:function(event, direction, distance, duration, fingerCount, fingerData) {//
      console.log(  event, direction, distance, duration, fingerCount, fingerData   );
                  //事件 , 方向 ,位移(像素),时间(毫秒),手指个数 ,
    },
    threshold:0 ,
    fingers:'all' ,
    excludedElements:"button, input, select, textarea, .noSwipe"
  });
});

zTouch-移动端触屏开发利器(zepto touch扩展)

* Zepto.js v1.0.1 touch extend (Zepto.js v1.0.1 的swipe touch扩展)js-处理手机移动端web触屏手势动作。
Zepto.js v1.0.1版本的touch.js模块引入使用后会导致页面很卡的情况,所以开发了一个新的扩展插件来替换其touch.js。已经过Android/ios测试。

github
* zTouch特点:

    zTouch.js只包含核心功能函数,不包含任何效果,简洁轻巧;
    提供丰富的回调参数,可由用户自定义扩展效果(可参考Demo);
    支持多种回调函数,方便及时监控及事件处理(实例化前/后回调,touch start/move/end回调);
    支持用户自定义手势标准定义(X-Y轴滑动限定,角度限定);
    支持BOX边界检测,touch超出边界后自动停止回调操作;
    提供内部属性设置接口,可在内部tPoint中加入用户自定义属性;
    支持手势横向滑动,同时保证浏览器纵向正常滑动;
    不会阻止BOX内的其它绑定事件(onclick等);
    支持多点触摸监控(缩放,旋转);

由于手机浏览器会阻止JS对gesture手势事件的监听zTouch.js中对gesture监听接口虽然可以调用,但无法实现手势操作(Android设备测试,IOS设备应该支持)。我们会在后续进行多点touch事件模拟解决。 (最新版zTouch已经去除对gesture事件的监听方法,采用e.touches对多点触摸进行监控,支持两点监控的缩放和旋转操作)
github
zTouch.js中为事件监听的核心文件。所有的特殊效果可以在回调函数进行个性化定制。
* 主要提供以下回调函数:

beforeCallback (实例化之前触发的回调函数),
sCallback (start callback,touchstart时触发的回调函数),
mCallback (move callback,touchmove时触发的回调函数),
eCallback (end callback,touchend时触发的回调函数)
afterCallback (实例化之后触发的回调函数),
* 回调函数中会传入touch事件相关回调参数:

self:实例化的BOX,
startX:触点起始X,
startY:触点起始Y,
bL:(Box Left) 相对于文档的left偏移,
bT:(Box Top)相对于文档的top偏移,
bW:(Box Width)BOX的宽度,
bH:(Box Height)BOX的高度,
bRb:(Box Right Border)BOX的右边界,
bBb:(Box Bottom Border)BOX的下边界,
endX:触点结束X;
endY:触点结束Y;
mX:(move x distance)X方向滑动距离;
mY:(move y distance)Y方向滑动距离;
direction:手势滑动方向(left/right/false);
angle:单点手势滑动角度;
duration:手势持续时间;
vendor:浏览器前缀(-moz/-webkit/-o/-ms);

tPoint.multiTouch:是否多点触摸(touchmove时可监控);
tPoint.gStartDis:(gisture start distance)手势起始距离;
tPoint.gEndDis:(gisture end distance)手势结束距离;
tPoint.scale:手势缩放比例;
tPoint.rotation:手势旋转角度;
* 同时在外部回调函数中提供修改内部tPoint数据的接口:

tPoint.setAttr(name,value);

* 调用方法:

<script type="text/javascript">
//传入args初始化参数对象
args={
    iniL:30,//X方向滑动的最小距离
    iniT:50,//Y方向滑动的最大距离
    eCallback:function(tPoint){
        switch(tPoint.direction){
            case "left":
                alert("left");
                break;
            case "right":
                alert("right");
        }
    }
}
$("body").Swipe(args); 
</script>

* 项目地址:

http://chinatjnet.github.io/zTouch/
* Github地址:

https://github.com/chinatjnet/zTouch/
* 演示地址:

http://chinatjnet.github.io/zTouch/demo.html
二维码:

原文地址:http://blog.baiwand.com/?post=207

JavaScript 图片放大镜插件 enlarge.js 以及移动版 enlarge.touch.js

这两个插件,一个是 jQuery 版本,适合鼠标使用的,另一个是原生 JavaScript 制作,适合触摸屏使用(touch 事件)。都适合在一些商城类、产品类的网页中使用。希望大家会喜欢。

Enlarge.js
Enlarge.js 是一个基于 jQuery 的插件,可以非常方便地实现图放大镜的效果,适用于大多数商品类网站,例如在线商城、电子商务、企业产品介绍等。

更多介绍及下载:http://www.abelcode.com/enlarge/ 

EnlargeTouch.js
EnlargeTouch.js 是 Enlarge 插件面向触摸屏使用的版本,它原生基于 JavaScript 实现,无需依赖第三方类库,可方便部署于移动版的网站或客户端,节省流量,同时为网站提升用户体验。

更多介绍及下载:http://www.abelcode.com/enlarge-touch/ 

jquery highcharts图表库支持的图表类型有曲线图、区域图、柱状图、饼状图、散状点图和综合图表

Highcharts是一个制作图表的纯Javascript类库,主要特性如下:

  • 兼容性:兼容当今所有的浏览器,包括iPhone、IE和火狐等等;
  • 对个人用户完全免费;
  • 纯JS,无BS;
  • 支持大部分的图表类型:直线图曲线图、区域图、区域曲线图、柱状图、饼装图、散布图;
  • 跨语言:不管是PHP、Asp.net还是Java都可以使用,它只需要三个文件:一个是Highcharts的核心文件highcharts.js,还有a canvas emulator for IE和Jquery类库或者MooTools类库;
  • 提示功能:鼠标移动到图表的某一点上有提示信息;
  • 放大功能:选中图表部分放大,近距离观察图表;
  • 易用性:无需要特殊的开发技能,只需要设置一下选项就可以制作适合自己的图表;
  • 时间轴:可以精确到毫秒;

利用jquery Highcharts网页图表插件绘制直线图例子:

下载地址:http://pan.baidu.com/s/1jG8z4FW

官方网站:http://www.highcharts.com/

RunJS 查看在线演示:http://runjs.cn/code/ih5xzoeb

bumpyText让文字跳舞的Jquery插件

bumpyText让文字跳舞的Jquery插件
鼠标移动到文字边上,文字自动跳动
jquery文字跳舞鼠标滑过段落文字波浪线条跳动

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>bumpyText让文字跳舞的Jquery插件 Demo</title>
<script type="text/javascript" src="js/jquery.min.js"></script>
<script type="text/javascript" src="js/jquery.bumpytext.packed.js"></script>
<script type="text/javascript" src="js/easying.js"></script>
<script type="text/javascript">
$(document).ready(function(){
	$('.text-flash').bumpyText();
});
</script>
</head>
<body>
<style type="text/css">
*{margin:0;padding:0;list-style-type:none;}
a,img{border:0;}
body{background:#2a2b2d;font:14px/1.3 'Microsoft Yahei','宋体';color:#999;}
.text-flash{width:720px;margin:20px auto 0 auto;text-align:center;font-weight:400;}
/* 必要样式 */
.bumpy-char{line-height:3.4em;position:relative;}
</style>
<h2 class="text-flash">鼠标移动到文字边上,文字自动跳动</h2>
</body>
</html>

下载地址:http://pan.baidu.com/s/1kTjvbyn