0

divタグを使って画像の上にテキストを表示したい。データベースから値を取得し、スクリプト配列に正常に格納しています。しかし、値は表示されていません。しかし、画像テキストの代わりにdivタグを使用しています。以下は私のコードです

 <script >
        var i=0;
        var st1=new Array();
        var st2=new Array();
        var st3=new Array();
       // var obj={"A","B","C","D"};
   $(document).ready(function(){
  $("#myimg").hover(function(){


  <c:forEach var="d"  items="${data}" >
        <c:set var="st1" value="${fn:substringBefore(d,'-')}" />            
        <c:set var="st2" value="${fn:substringAfter(d,'-')}" />



         st1.push("${st1}");             
         st2.push("${st2}");

    </c:forEach>
    <c:forEach var="d1"  items="${data1}" >
        <c:set var="st22" value="${d1}" />       
            st3.push("${st22}");

  </c:forEach>

  for(var i=0;i<6;i++)
      {

  var X=st1[i];      
  var Y=st2[i];
  var txt=st3[i];

        var test = $("<span class='test'></span>");

  test.html(txt);

  $("#myimg").append(test.offset({left:X,top:Y}));

   }

  }, function(){
    $('.test').remove();
  }
 );

 });

    </script>

    <div class="test">div-test </div>
    <img id="myimg" src="mirchi2.jpg" width="500" height="500">
    </body>
    </html>
4

2 に答える 2

1

DIV を追加する代わりに、次のようにします。

完全に機能する例を編集: http://jsfiddle.net/

<div class="image-container"> <!-- MAKE SURE THIS IS POSITION RELATIVE! -->
    <img id="image1" src="https://encrypted-tbn2.gstatic.com/images?q=tbn:ANd9GcTKWtn1KeBcz5Ydr3Hv6aYTCjiqbqFg2DfB422smPV21TS7kjVh" alt="some alt" />
    <div id="text-pop">This is some text</div>
</div>

CSS:

.image-container{
    position: relative;
}
#text-pop{
    display: none;
    position: absolute;
}

jQuery:

$(document).ready(function(){
    $("#image1").hover(function(){
        $("#text-pop").fadeIn(800);
        $("#text-pop").css({
            "position": "absolute",
            "top": "25%",
            "left": "20%",
            "background": "yellow",
            "padding": "30px"
        })
    }, function(){
        $("#text-pop").hide();
    }
    );
});
于 2013-03-24T14:17:23.383 に答える
0

と で使用<div>します。display: inline-block;background-image: url(image.png);

次に、その中<div>に新しい子、つまりテキストを追加できます。アーレンが言ったように、<img />(like <br />and <hr />) は単数タグであり、子を持つことはできません。

<div id="myimg" style="background-image: url(mirchi2.jpg); width: 500px; height: 500px;">
    <div>More content</div>
</div>

または (クリーナー)

CSS

#myimg {
    background-image: url(mirchi2.jpg);
    width: 500px;
    height: 500px;
}

HTML

<div id="myimg">
    <div>More content</div>
</div>
于 2013-03-24T14:14:19.390 に答える