我正在開發一個Web應用程序。左側是使用Sidr插件的側邊欄(jQuery Plugin: Sidr)。測試網站在我的developing server上。我的問題是,如果我從左到右滑動顯示側邊欄。這是非常好的。但是,如果我想通過滑動來關閉側邊欄從右到左,我必須防止滾動通過添加此下面的代碼:防止僅水平滾動移動應用程序
$('body').bind('touchmove', function(e){e.preventDefault()})
我這樣做,但現在:我在頁面頂部導航(菜單)不能正常工作。直到最後我都無法滾動。
所以我的問題是:我該如何改變這一點。如果我要關閉左邊的邊欄,它應該只能防止垂直滾動。
這裏是我完整的JavaScript:
$(function(){
$(document).foundation();
$('#sidebar-toggle').sidr();
var hammertime = Hammer(document.getElementById("wrapper")).on("swiperight", function(event) {
$.sidr('open');
});
var hammertime = Hammer(document.getElementById("wrapper")).on("swipeleft", function(event) {
$.sidr('close');
});
var hammertime = Hammer(document.getElementById("content")).on("tap", function(event) {
$.sidr('close');
});
$('body').bind('touchmove', function(e){e.preventDefault()})
});
第一個鏈接實際上是正確的方法。但是這也妨礙了水平滾動。通過這種方式,我無法滾動導航(黑色頂部工具欄中的菜單鏈接)。 – 2013-05-12 18:43:35
也許這樣?未經測試。 var lastY; (文檔)$ .bind( 'touchmove',函數(E){ VAR currentY = e.touches [0] .clientY; 如果(currentY === lastY){//水平移動 回報; } lastY = currentY; }); – 2013-05-12 19:00:33
也許你不明白我的問題。我將更好地描述它: – 2013-05-12 19:09:30