在引用之后用Jquery每个循环

时间:2013-05-06 19:56:35

标签: jquery canvas each next

我想从.class元素到类元素绘制画布线。到目前为止,我可以通过elements.first()和elements.first()引用类中的start和end元素。

难点在于我想使用想要开始和终点的quadraticCurveTo。结束点是.class中的下一个元素。

$('.myclass').chainlines();
$.fn.chainlines = function(){
context.moveTo($(this).first().position().left+15,$(this).first().position().top+20);
$(this).each(function(){
next = $(this).next();
context.quadraticCurveTo($(this).first().position().left+60,
$(this).position().top+25,$(next).position().left+15,$(next).position().top+15);
});
};

我有一个jsfiddle示例,我需要扩展为链接。见LINK

这对我不起作用。

3 个答案:

答案 0 :(得分:2)

也许这就是你要找的东西:

divs.each(function(){
   alert($(this).next().get(0).id);
})

答案 1 :(得分:0)

小提琴似乎与你的问题毫无关系......

我认为你正在寻找类似的东西......

 divs.each(function(idx){
    alert(divs[idx].next().attr("id"));
 })

答案 2 :(得分:0)

我解决了自己的问题

$.fn.chainlines = function(){
    var divs = $(this);
    var count = $(this).length;
    for (var i = 0; i < count; i++) {
        if((i + 1) < count){
            context.moveTo($(divs[i]).position().left+15,$(divs[i]).position().top+20);
            context.quadraticCurveTo($(divs[i]).position().left+60,
                                 $(divs[i]).position().top+35,
                                 $(divs[i+1]).position().left+15,
                                 $(divs[i+1]).position().top+1);      
            context.stroke();
        }
    }
};