使用swipe.js生成滑动对象

时间:2012-01-12 21:07:19

标签: javascript swipe

使用swipe.js(www.swipejs.com),我想将它附加到生成的DIV。

在Javscript循环中,我正在执行以下操作:

$.each( data, function( i, item)  {

resultHtml = '<div id="swipe-div-' + item.i  + '" class="swipe">' +
'<ul>' +
'<li>Test 1<li>' +
'<li>Test 2<li>' +
'</ul></div>' +
'<a href="#" onclick="swipe-div-' + item.i + '.prev();return false;">prev</a>' +
'<a href="#" onclick="swipe-div-' + item.i + '.next();return false;">next</a>';

$('div#results').append( resultHtml );

new Swipe(document.getElementById('swipe-div-' + item.i));

}

:我的上一个和下一个链接有问题。我怀疑它可能与以下行有关:

新的滑动(document.getElementById('swipe-div-'+ item.i));

没有正确初始化滑动对象。

当我点击prev或next时,我在Javascript控制台中收到以下错误:

“未捕获的SyntaxError:意外的令牌ILLEGAL”

我该如何解决这个问题?

1 个答案:

答案 0 :(得分:1)

好的,既然没有人回答这个问题,我想出了如何解决自己的问题:

我不是生成和附加文本字符串,而是使用document.createElement和appendChild创建结构。

在创建结构的最后,我添加了以下代码:

var slider = new Swipe(document.getElementById('result-' + item.i));
clickPrev(slider, prev);
clickNext(slider, next);

并添加了以下功能:

function clickNext(swipeObj, link) {
    link.onclick = function () {
        swipeObj.next();
        return false;
    }
}

function clickPrev(swipeObj, link) {
    link.onclick = function () {
        swipeObj.prev();
        return false;
    }
}

按照这种方式更容易,现在效果很好。