0

そこで、一連の画像を反復処理し、指定された座標で各画像の div.tagged を表示する erb ブロックを作成しました。この特定のケースでは、ブロックは 1 つの画像を反復処理しますが、div.tagged はページに表示されません。要素を調べると .tagged がありますが、実際には表示されません。誰でも理由について何か考えがありますか? 生成される HTML は次のとおりです。 そして、これは検査された要素のスクリーンショットです

ERB:

<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 %>" data-image=> </span>
<br>

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

<% end %>   
<% end %>

</div>

jQuery:

<script type="text/javascript">
$(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");


        $('.i_connection').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;" style="position:absolute;"></div>')
}); 
});

CSS:

.i_connection div{
  display:block;
  position:absolute;
}

.image_panel{
  float:left;
  width:600px;
  position:relative;
}
.image_panel img{
  left:0;top:0px;
  max-width: 600px;
  overflow: hidden;
}
4

1 に答える 1