使用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”
我该如何解决这个问题?
答案 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;
}
}
按照这种方式更容易,现在效果很好。