1

関数にオブジェクトを渡したいflipIt(obj)。という変数に画像IDを保存していますglobe

に渡すglobeと、がイメージ ID を含む変数であり、オブジェクトが必要であるflipIt()ため、機能しません。globeflipIt()

私は('#'+globe)それを作ろうとしましたobjが、それも機能していません:

flipIt('#'+globe);

関数の定義は次のとおりです。

function flipIt(obj) {
    console.log("value before Function status   " + status);
    alert('FlipIT Called' + obj);

    $(obj).css("-webkit-transform-style","preserve-3d");
    $(obj).css("-webkit-transition","all 1.0s linear");
    $(obj).css("transform-style","preserve-3d");
    $(obj).css("transition","all 1.0s linear");
}    

obj 値を印刷してみました...変数の場合、代わりに id 値を印刷し、HTMLimage 要素を印刷する必要があります。

Javascript

$(document).ready(function () {
    var globe;

    /*   Reading the data from XML file*/
    $.ajax({
        type: "GET",
        url: "photos.xml",
        dataType: "xml",
        success: function(xml) {
            $(xml).find('item').each(function() {
                var path = $(this).attr('path');
                var width = $(this).attr('width');
                var height = $(this).attr('height');
                var id = $(this).attr('id');
                var alt = $(this).attr('alt');
                var longdesc = $(this).find('longdesc').text();
                var description = $(this).find('desc').text();
                $('#myImageFlow').prepend('<img src="'+path+'" id='+id+'  height="'+height+'"  width="'+ width+'" longdesc="'+longdesc+'" alt="'+alt+'"/>');
                imgArr[i] = description;
                i = i+1;
            });
        });
    });
});

XML ファイル:

<items id = "items">
   <item path="img/1_bankofamerica.jpg" width="300" height="360" id="id1" alt="img1" type="bitmapfile">
      <back>swf/backcard_0.swf </back>
      <longdesc>img/img1.png</longdesc>
      <desc>Decription about Image # 1 </desc>
   </item>
   <item path="img/2_harbourfront.jpg" width="300" height="360" id="id2" alt="img2" type="bitmapfile">
      <back>swf/backcard_1.swf </back>
      <longdesc>img/img2.png</longdesc>
      <desc>Decription about Image # 2 </desc>
   </item>
   <item path="img/2_harbourfront3.jpg" width="300" height="360" id="id3" alt="img3" type="bitmapfile">
      <back>swf/backcard_2.swf </back>
      <longdesc>img/img3.png</longdesc>
      <desc>Decription about Image # 3 </desc>
   </item>
   <item path="img/3_harbourfront.jpg" width="300" height="360" id="id4" alt="img4" type="bitmapfile">
      <back>swf/backcard_3.swf </back>
      <longdesc>img/img4.png</longdesc>
      <desc>Decription about Image # 4 </desc>
   </item>
   <item path="img/5_lighthouse.jpg" width="300" height="360" id="id5" alt="img5" type="bitmapfile">
      <back>swf/backcard_4.swf </back>
      <longdesc>img/img5.png</longdesc>
      <desc>Decription about Image # 5 </desc>
   </item>
</items>
4

1 に答える 1

3

が選択したい要素の をglobe含む文字列であると仮定すると (接頭辞が ではありません)、関数に渡す前にそれを jQuery オブジェクトに変換する必要があります。id#

flipIt($('#'+globe));

$()次に、関数内で別のものをラップする必要はありませんflipIt。これは、既にオブジェクトであるためです。したがって、関数内で次のようにします。

obj.css("-webkit-transform-style","preserve-3d");
...

globe次に、グローバルスコープで宣言したいと思います。これで、ドキュメント準備完了関数のスコープで宣言しています。だからそれを外に出してください:

var globe;

$(document).ready(function () {
    // document ready
});

また、準備完了のドキュメントには短い表記があります。

$(function() {
    // document ready
});
于 2013-05-23T11:12:43.723 に答える