1

JavaScript 関数によって返されるテキストを使用して、画像 src を設定したいと考えています。JavaScriptの戻り値をsrcに割り当てる正しい方法は何ですか? 以下のコード:

ここで達成しようとしているのは、ブラウザの画像キャッシュを取り除くために、URL の末尾にダミーの乱数を追加することです。

<body><div class="slideshow" style="position: absolute;">   
<img src="eval(getMyLink())" width="1024" height="768" style="position: absolute; top: 0px; left: 0px; display: none; z-index: 5; opacity: 0; width: 1024px; height: 768px;" title=""> 
<img src="eval(getMyLink())" width="1024" height="768" style="position: absolute; top: 0px; left: 0px; display: none; z-index: 5; opacity: 0; width: 1024px; height: 768px;" title=""> 
</div>

<script language="javascript"><!--
    bmi_SafeAddOnload(bmi_load, "bmi_orig_img", 0);//-->
    function getMyLink() {
        var a = "./Files/1.jpg?a=" + Math.floor(Math.random() * 11);
        return a;
    }
</script></body>
4

2 に答える 2

1

jQueryを使用します。img タグに id 属性を追加する必要がありますが、これで十分です。

<img id="imgLink1" width="1024" height="768" style="position: absolute; top: 0px; left: 0px; display: none; z-index: 5; opacity: 0; width: 1024px; height: 768px;" title=""> 

$().ready(function(){ $('#imgLink1').att('src', getMyLink()); });
于 2013-02-24T13:55:56.437 に答える
-1

私のアドバイス : インライン JS を避け、CSS を使用し、JQuery を使用してください。

私はこのようにします:

<body>
    <div class="slideshow" style="position: absolute;">
        <img id="img1" src="" class="myImages" title="image">
        <img id="img2" src="" class="myImages" title="image">
    </div>
    <script>

        bmi_SafeAddOnload(bmi_load, "bmi_orig_img", 0);

        function getMyLink() {
            var a = "./Files/1.jpg?a=" + Math.floor(Math.random() * 11);
            return a;
        }

        //Assign image source and display it (you have defined display:none attribute)
        $('#img1').attr('src', getMyLink()).fadeIn(300);
        $('#img2').attr('src', getMyLink()).fadeIn(300);
    </script>

    <style>
        .myImages {
            width : 1024px;
            height : 768px;
            position: absolute; 
            top: 0px; 
            left: 0px; 
            display: none; 
            z-index: 5; 
            opacity: 0;
       }
    </style>
</body>
于 2013-02-24T14:01:42.127 に答える