源代码如下,该缩放方法支持,中心缩放,锁定比例,最大值,最小值,防止溢出父容器。
/**************************************************
* Action Bin Zoom
*/
var _bin = function(that, p/* event, target, keepCenter, keepRatio, keepWidth, keepHeight, maxWidth, maxHeight, minWidth, minHeight, window */) {
try {
var w = p.window || window;
var t = that.$(p.target, w);
var _a = that.getDocumentByScroll(w).x;
var _b = that.getDocumentByScroll(w).y;
var _c = that.getDocumentBySize(w).width;
var _d = that.getDocumentBySize(w).height;
var _e = t.parentNode == w.document.body ? _a : t.parentNode.scrollLeft;
var _f = t.parentNode == w.document.body ? _b : t.parentNode.scrollTop;
var _g = t.parentNode == w.document.body ? _c : parseInt(that.getElementByStyle(t.parentNode, w).width);
var _h = t.parentNode == w.document.body ? _d : parseInt(that.getElementByStyle(t.parentNode, w).height);
var _i = that.getElementBySite(t, w).left;
var _j = that.getElementBySite(t, w).top;
var _k = t.offsetLeft;
var _l = t.offsetTop;
var _m = t.offsetWidth;
var _n = t.offsetHeight;
var _o = p.event.clientX;
var _p = p.event.clientY;
var _q = _o <= (_i - _a + _m / 2) ? 1 : 0;
var _r = _p <= (_j - _b + _n / 2) ? 1 : 0;
var f = function(event) {
var e = event || w.event;
var _s = e.clientX;
var _t = e.clientY;
var _u = p.keepRatio && _m > _n ? (_q == _r ? _o + _t - _p : _o - _t + _p) : _s;
var _v = p.keepRatio && _m <= _n ? (_q == _r ? _p + _s - _o : _p - _s + _o) : _t;
var _w = _k - (_q ? _o - _u : p.keepCenter ? _u - _o : 0);
var _x = _l - (_r ? _p - _v : p.keepCenter ? _v - _p : 0);
var _y = _m + (_q ? _o - _u : _u - _o) * (p.keepCenter ? 2 : 1);
var _z = _n + (_r ? _p - _v : _v - _p) * (p.keepCenter ? 2 : 1);
if(p.keepRatio && (_w < _e || _x < _f || _e + _g < _w + _y || _f + _h < _x + _z || _y < p.minWidth || _z < p.minHeight)) {
return;
}
if(!p.keepWidth && p.minWidth <= _y && _y <= p.maxWidth && _e <= _w && _w + _y <= _e + _g) {
t.style.left = _w + "px";
t.style.width = _y + "px";
}
if(!p.keepHeight && p.minHeight <= _z && _z <= p.maxHeight && _f <= _x && _x + _z <= _f + _h) {
t.style.top = _x + "px";
t.style.height = _z + "px";
}
that.cancelBubble(e);
that.cancelDefault(e);
};
p.maxWidth = p.maxWidth || Infinity ;
p.maxHeight = p.maxHeight || Infinity;
p.minWidth = p.minWidth || 50;
p.minHeight = p.minHeight || 50;
that.attachEvent(w.document, {mousemove : f});
that.attachEvent(t, {mouseup : function() {that.detachEvent(w.document, {mousemove : f})}});
that.cancelBubble(p.event);
that.cancelDefault(p.event);
} catch(error) { }
};
iWant.bin.action["zoom"] = _bin;
iWant.bin.action["缩放"] = _bin;
/**************************************************/
这是演示地址:http://www.izhaoyang.com/test3/啊对,演示用的照片是我,求一媳妇有木有!
/**************************************************
* Action Bin Zoom
*/
var _bin = function(that, p/* event, target, keepCenter, keepRatio, keepWidth, keepHeight, maxWidth, maxHeight, minWidth, minHeight, window */) {
try {
var w = p.window || window;
var t = that.$(p.target, w);
var _a = that.getDocumentByScroll(w).x;
var _b = that.getDocumentByScroll(w).y;
var _c = that.getDocumentBySize(w).width;
var _d = that.getDocumentBySize(w).height;
var _e = t.parentNode == w.document.body ? _a : t.parentNode.scrollLeft;
var _f = t.parentNode == w.document.body ? _b : t.parentNode.scrollTop;
var _g = t.parentNode == w.document.body ? _c : parseInt(that.getElementByStyle(t.parentNode, w).width);
var _h = t.parentNode == w.document.body ? _d : parseInt(that.getElementByStyle(t.parentNode, w).height);
var _i = that.getElementBySite(t, w).left;
var _j = that.getElementBySite(t, w).top;
var _k = t.offsetLeft;
var _l = t.offsetTop;
var _m = t.offsetWidth;
var _n = t.offsetHeight;
var _o = p.event.clientX;
var _p = p.event.clientY;
var _q = _o <= (_i - _a + _m / 2) ? 1 : 0;
var _r = _p <= (_j - _b + _n / 2) ? 1 : 0;
var f = function(event) {
var e = event || w.event;
var _s = e.clientX;
var _t = e.clientY;
var _u = p.keepRatio && _m > _n ? (_q == _r ? _o + _t - _p : _o - _t + _p) : _s;
var _v = p.keepRatio && _m <= _n ? (_q == _r ? _p + _s - _o : _p - _s + _o) : _t;
var _w = _k - (_q ? _o - _u : p.keepCenter ? _u - _o : 0);
var _x = _l - (_r ? _p - _v : p.keepCenter ? _v - _p : 0);
var _y = _m + (_q ? _o - _u : _u - _o) * (p.keepCenter ? 2 : 1);
var _z = _n + (_r ? _p - _v : _v - _p) * (p.keepCenter ? 2 : 1);
if(p.keepRatio && (_w < _e || _x < _f || _e + _g < _w + _y || _f + _h < _x + _z || _y < p.minWidth || _z < p.minHeight)) {
return;
}
if(!p.keepWidth && p.minWidth <= _y && _y <= p.maxWidth && _e <= _w && _w + _y <= _e + _g) {
t.style.left = _w + "px";
t.style.width = _y + "px";
}
if(!p.keepHeight && p.minHeight <= _z && _z <= p.maxHeight && _f <= _x && _x + _z <= _f + _h) {
t.style.top = _x + "px";
t.style.height = _z + "px";
}
that.cancelBubble(e);
that.cancelDefault(e);
};
p.maxWidth = p.maxWidth || Infinity ;
p.maxHeight = p.maxHeight || Infinity;
p.minWidth = p.minWidth || 50;
p.minHeight = p.minHeight || 50;
that.attachEvent(w.document, {mousemove : f});
that.attachEvent(t, {mouseup : function() {that.detachEvent(w.document, {mousemove : f})}});
that.cancelBubble(p.event);
that.cancelDefault(p.event);
} catch(error) { }
};
iWant.bin.action["zoom"] = _bin;
iWant.bin.action["缩放"] = _bin;
/**************************************************/
这是演示地址:http://www.izhaoyang.com/test3/啊对,演示用的照片是我,求一媳妇有木有!
解决方案 »
- js控制模块默认为隐藏二级菜单
- 求 惠普网站的效果~~~ 谢谢谢谢
- 一个捕获时间的问题
- 一个关于iframe和javascript传递参数的问题,请大家帮忙,在线等。
- 两个下拉列表,通过第一个列表的值过滤第二个下拉列表,如何实现?
- 50分犒劳!谁知道在哪可以下载到微软的那个在线编辑器的源码-就是可拆分合并表格单元格,添加删除Form元素的那个
- 怎么实现层的拖动?
- 哪位大侠能救救在下!(在线)
- 较难问题:我做了个在<table>中动态添加text得页面,如何验证录入的数据的正确性呢?50分相送。在线
- 关于Prompt()函数的困惑?(给分)
- JS中求反正切Math.atan()返回值的问题
- 请问大家一个jquery的问题!
Mozilla Firefox
Safari
Opera
Chrome我全测试,怎么可能没有效果
不然3个星期后 你自己也改不了自己的代码var _p 和 var photo
在编译器看来 应该没多大区别吧
在人眼看来 区别就大了注释也详细点压缩的话 交给专门的压缩工具吧
Mozilla Firefox
Safari
Opera
Chrome我全测试过,不可能在有什么浏览器没有效果,麻烦说没效果的先去看演示地址,如果是来捣乱的请自重!
chrome表示无效果
IE6表示同无效果
LZ换机试试
你可以看看这里面的js
http://www.renrousousuo.com/
LZ keep going
给你推荐个国外疯子的站点,也是代码很短,效果很牛,可能你也看过了
什么3d效果的都是浮云
这个站点的效果有很多估计已经是js的极限了,各种看不懂的公式,不知道国内有无人做专门研究。
/// 获得指定范围的随机数
/// </summary>
难道用vs开发的?怎么还有这种注释……
你要不是我爷爷就别号称我爷爷,我爷爷1937年参军抗战也是你这等x比的了的?我很敬佩我爷爷,也就你这样的x人能干出这样的x事,我说话是不好听,但是我先问候你母亲了?也就你能干出来,小心折寿。
不是你丫的那么冲,会成这,别TMD装逼了,现在说这哩MD 老子就当你爷!!!
此yeye非彼爷爷,yeye ≠ 爷爷,yeye只不过是个烧饼而已
yeye ≠ 爷爷,yeye只不过是个烧饼而已,而且还是个文盲