rs.canvas.js
1.74 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
/**
* rs_canvas - Runsa Plugin
*
* Dependencies:
* jquery.browser
*
*/
(function($){
function initWrap(container){
$(".rs-canvas-ghost").remove();
var body=$(document.body);
var ghost=$('<div class="rs-canvas-ghost"></div>').appendTo(document.body);
var cc=$(container);
cc.removeClass("rs-canvas");
cc.addClass("rs-canvas");
body.removeClass("rs-body");
body.addClass("rs-body");
};
function initEvent(container){
var cc=$(container);
var exec;
$(window).unbind(".rs_canvas");
$(window).bind("resize.rs_canvas",function(){
if(exec){
clearTimeout(exec);
}
exec=setTimeout(function(){
var size=getSize(container);
var canvas=$(container);
canvas.css({
"width":size.width,
"height":size.height
});
canvas.triggerHandler("size");
}, 200);
});
}
function triggerEvent(container){
$(window).triggerHandler("resize.rs_canvas");
}
function getSize(container){
var ghost=$(".rs-canvas-ghost");
var width=ghost.width();
var height=ghost.height();
if($.browser&&$.browser.msie&&$.browser.version=="11.0"){
height=height-4;
}
return {width:width,height:height};
}
$.fn.rs_canvas = function(options, param){
if (typeof options == 'string') {
return $.fn.rs_canvas.methods[options](this, param);
}
options = options || {};
return this.each(function(){
var state = $.data(this, 'rs_canvas');
if (state) {
$.extend(state.options, options);
} else {
var opts=$.extend({},$.fn.rs_canvas.defaults,options);
$.data(this, 'rs_canvas', {options:opts});
}
initWrap(this);
initEvent(this);
triggerEvent(this);
});
};
$.fn.rs_canvas.methods={
size: function(jq){
return getSize(this);
}
};
$.fn.rs_canvas.defaults={
};
})(jQuery);