如何使用 Hammer.js。我想要电话间隙中应用程序的滑动视图。**完全正确--->我的意思是一步一步的过程。我发现了一些基于它我尝试实现的东西。它不起作用。Hammer.js中的代码
(function(Hammer) {
/**
* ShowTouches gesture
* requires jQuery
* show all touch on the screen by placing elements at there pageX and pageY
* @param {Boolean} [force]
*/
Hammer.plugins.showTouches = function(force) {
// the circles under your fingers
var template = '<div style="position:absolute;z-index:9999;left:0;top:0;height:14px;width:14px;border:solid 2px #777;' +
'background:rgba(255,255,255,.7);border-radius:20px;pointer-events:none;' +
'margin-top:-9px;margin-left:-9px;"></div>';
// elements by identifier
var touch_elements = {};
var touches_index = {};
/**
* remove unused touch elements
*/
function removeUnusedElements() {
// remove unused touch elements
for(var key in touch_elements) {
if(touch_elements.hasOwnProperty(key) && !touches_index[key]) {
touch_elements[key].remove();
delete touch_elements[key];
}
}
}
Hammer.detection.register({
name: 'show_touches',
priority: 0,
handler: function(ev, inst) {
touches_index = {};
// clear old elements when not using a mouse
if(ev.pointerType != Hammer.POINTER_MOUSE && !force) {
removeUnusedElements();
return;
}
// place touches by index
for(var t= 0,total_touches=ev.touches.length; t<total_touches;t++) {
var touch = ev.touches[t];
var id = touch.identifier;
touches_index[id] = touch;
// new touch element
if(!touch_elements[id]) {
touch_elements[id] = $(template).appendTo(document.body);
}
// Paul Irish says that translate is faster then left/top
touch_elements[id].css({
left: touch.pageX,
top: touch.pageY
});
}
removeUnusedElements();
}
});
};
})(window.Hammer);
当我编译并执行代码时,我得到了一个错误
04-23 14:23:40.936: E/Web Console(740): TypeError: Result of expression 'Hammer' [undefined] is not an object. at file:///android_asset/www/hammer.js:8
和
04-23 14:23:40.936: E/Web Console(740): ReferenceError: Can't find variable: Hammer at file:///android_asset/www/range.html?var%20id=results.rows.item(1).id:35
而在第 35 行中,我给出了..
var hammer = new Hammer(document.getElementById("pageWrapper"));
html
<div id="pageWrapper">
<div class="page" >
<h4 style="background-image:url(img/______.png); margin-bottom:80px; text-align:center;">hello</h4>
<img src="img/______.png" style="margin-left:5px;" /><img align="middle" />
</div>
因为,我遇到了错误,所以我尝试使用 [这里] (https://github.com/cubiq/SwipeView/blob/master/src/swipeview.js)的 SwipeView.js 来实现它,它进入了循环..显示页面控制器,但缺少以下内容
- 页面控制器被垂直而不是水平看到
- 为滑动视图设置的图像不可见。
- 页面垂直移动而不是水平移动
我还发现一个 WARNING 作为 Miss a drag ,因为我们正在等待 WebCore 对着陆的响应。
我尝试添加以下代码...没有变化
document.addEventListener( "touchstart", function(e){ onStart(e); }, false );
function onStart ( touchEvent ) {
if( navigator.userAgent.match(/Android/i) ) {
touchEvent.preventDefault();
}
}
有什么补救措施或解决方案吗?