0

我正在使用来自 padilicious 的代码,它允许滑动检测(http://padilicious.com/code/touchevents/)。它对我不起作用,我似乎无法弄清楚为什么。我已经在该网站上查看了类似问题的其他答案,并遵循了他们的解决方案,但仍然没有运气。

我将来自 padilicious 的 javascript 代码保存在一个名为 swipesense.js 的文件中,该文件位于我的根目录中一个名为“js”的文件夹中。我的标题中包含以下内容:

<script src='$root/js/swipesense.js' type='text/javascript'></script>

下面的代码出现在我的正文中:

<div class='main_image' 
            ontouchstart='touchStart(event,'main_image');'  
            ontouchend='touchEnd(event, $next_slideURL, $previous_slideURL);' 
            ontouchmove='touchMove(event);' 
            ontouchcancel='touchCancel(event);'>

            <a href='$next_slideURL' style='display:block'>
                    <img src='$root/$item_path/$slideFile' alt='$slideCaption from $projectTitle\n [hidden]' style='max-width:832px; max-height:500px' title='$projectTitle: $slideCaption. \nclick for next slide ($next_slideCaption). '>
            </a>
</div>

我的 processingRoutine() 方法如下:

function processingRoutine() {
    var swipedElement = document.getElementById(triggerElementID);
    if ( swipeDirection == 'left' ) {
        window.location.href = "www.nba.com";       
    } else if ( swipeDirection == 'right' ) {
        window.location.href = "www.nba.com";
    }
}

注意:在我的标签中,我只有 class='main_image' 而没有 id='main_image'。我假设它们是可以互换的。我可能错了(如果我错了,请告诉我),但我也尝试过包含 id 选项,但它也不起作用。

我真的不明白为什么这不起作用。任何帮助,将不胜感激!

(更新:我知道我的滑动被检测到,因为滑动 main_image div 不会导致页面滚动,如果没有 padilicious 代码它会滚动。现在我只是不确定为什么该例程不起作用。有什么想法吗?)

4

1 回答 1

0

我想通了,我想我会把它贴在这里,以防其他人有类似的问题。

在标签中,您必须设置一个 id。您必须在 touchStart 函数中包含与第二个参数相同的 id。要更正问题中的代码:

<div class='main_image' id='swipe'
        ontouchstart='touchStart(event,'swipe');'  
        ontouchend='touchEnd(event, $next_slideURL, $previous_slideURL);' 
        ontouchmove='touchMove(event);' 
        ontouchcancel='touchCancel(event);'>

id 名称不必与类名相对应(很明显,但我只是想我会提到它)。

希望这也能解决别人的问题!

于 2013-08-23T02:48:28.087 回答