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 回答