为什么div不显示在适当的坐标?

时间:2013-07-22 03:53:40

标签: jquery image iterator coordinates erb

所以我创建了一个erb块,它遍历每个图像的坐标,然后在给定的坐标处为每个图像显示div.tagged。在这种特殊情况下,块迭代2个图像,div.tagged每个图像显示一次,但div.tagged的位置对于每个图像是相同的。任何人都有任何想法为什么?这是HTML is generated

erb block

<div class="container">
<% if @new_manual.present? %>
<% @new_manual.steps.each do |step| %>
    <% i_connection = Contact.find(step.input_contact) %>
        <span class="i_connection" data-pos-x="<%= i_connection.pos_x %>" data-pos-y="<%= i_connection.pos_y %>"  data-pos-width="<%= i_connection.pos_width %>" data-pos-height="<%= i_connection.pos_height %>"> </span>
        <div class="image_panel"><br>
            <%= image_tag(i_connection.image.image.url(:large)) %>
        <div class='planetmap'></div>
    </div>
    <% end %>   
<% end %>
</div>

的jQuery

$(document).ready(function(){
$("span.i_connection").each(function() {
    var pos_width = $(this).data('pos-width');
    var pos_height = $(this).data('pos-height');
    var xpos = $(this).data('pos-x');
    var ypos = $(this).data('pos-y');

    $(".tagged_box").css("display","block");
    $(".tagged").css("border","5px solid red");

        $('.planetmap').append('<div class="tagged"  style="width:'+pos_width+'px;height:'+pos_height+'px;left:'+xpos+'px;top:'+ypos+'px;" ><div class="tagged_box" style="width:'+pos_width+'px;height:'+
            pos_height+'px;" ></div>')
});   //END OF SPAN.CONNECTION ITERATION
}); //END OF JQUERY 

1 个答案:

答案 0 :(得分:0)

你有一些问题。

1)你没有在你的'tagged'类中使用CSS位置:absolute。 2)您正在声明多个.planetmap(每个循环一个)并且每次都附加内容。

如果您有意想要许多.planetmaps,请限制您的jQuery仅使用类似$(this).next('。image_panel).find('。planetmap')

的内容来操作本地副本

以下是CSS位置补充的JS小提琴:http://jsfiddle.net/ksf3A/你的左/右是关闭的&amp;它根据您的HTML显示多个图像。

也许你想要:

<div class="container">
    <div class="image_panel"><br>
         <%= image_tag(i_connection.image.image.url(:large)) %>
        <div class='planetmap'></div>
    </div>

<% if @new_manual.present? %>
<% @new_manual.steps.each do |step| %>
    <% i_connection = Contact.find(step.input_contact) %>
        <span class="i_connection" data-pos-x="<%= i_connection.pos_x %>" data-pos-y="<%= i_connection.pos_y %>"  data-pos-width="<%= i_connection.pos_width %>" data-pos-height="<%= i_connection.pos_height %>"> </span>
    <% end %>   
<% end %>
</div>

代替?我假设当然这是一个设备上的多个连接,而不是多个连接的多个设备(在这个设备中你需要一个辅助外环设备)