我想知道在缩放时缩放的innerWith / viewport宽度。
如果它低于500像素,我想用以下方式更改图像:
$("img#ad").attr("src", "http://img0.www.suckmypic.net/img/1/L/mmy4jT8s/jsFiddle3.png");
我尝试过这样的事情:
var hammer = new Hammer(document.getElementById("log"));
hammer.ontransformstart = function(ev) {
var pziW = "test"; // Declare here the innerWidth of the pinch to zoom
if (pziW < 500) {
$("img#ad").attr("src", "http://img0.www.suckmypic.net/img/1/L/mmy4jT8s/jsFiddle3.png");
}
};
hammer.ontransform = function(ev) {
var pziW = "test"; // Declare here the innerWidth of the pinch to zoom
if (pziW < 500) {
$("img#ad").attr("src", "http://img0.www.suckmypic.net/img/1/L/mmy4jT8s/jsFiddle3.png");
}
};
hammer.ontransformend = function(ev) {
var pziW = "test"; // Declare here the innerWidth of the pinch to zoom
if (pziW < 500) {
$("img#ad").attr("src", "http://img0.www.suckmypic.net/img/1/L/mmy4jT8s/jsFiddle3.png");
}
};
但我不知道如何声明缩放的innerWidth来缩放。
这是jsFiddle:
有人有答案吗?
答案 0 :(得分:3)
您想要检测的不是innerWidth。
看一下传递给锤子函数的ev变量:
distance: 0
distanceX: 0
distanceY: 0
originalEvent: TouchEvent
position: Object
rotation: 124.85234015769826
scale: 2.0725083746457824
touches: Array[0]
type: "transformend"
__proto__: Object
scale: 2.0725083746457824
是我们想要的。如果比例高于或低于某个阈值,则执行图像替换功能。
我已经分叉了你的JSFiddle。见这里:http://jsfiddle.net/BFBrU/14/