3

我目前有以下代码在单击缩略图时替换大图像:

Javascript:

    img1 = new Image();
    img1.src = '{$smarty.const.dir_images}/l_{$this_page.image1}';
    img2 = new Image();
    img2.src = '{$smarty.const.dir_images}/l_{$this_page.image2}';

缩略图 HTML:

    <a href="javascript:document['mainimage'].src = img1.src; javascript:void(0);"><img src="{$smarty.const.dir_images}/t_{$this_page.image1}" title="" alt=""/></a>
    <a href="javascript:document['mainimage'].src = img2.src; javascript:void(0);"><img src="{$smarty.const.dir_images}/t_{$this_page.image2}" title="" alt=""/></a>

大图 HTML:

    <img id="mainimage" name="mainimage" src="{$smarty.const.dir_images}/l_{$this_page.image1}" title="{$this_page.image1text}" alt="{$this_page.image1text}" />

我想要做的不仅是在单击缩略图时更改大图像源,而且还要更改 alt 和标题标签。

提前致谢

4

4 回答 4

12

尝试使用这种方式:

JavaScript

img1.alt="Image alt";
img1.title="Image title";

缩略图 HTML:

<a href="javascript:document['mainimage'].src = img1.src;document['mainimage'].alt = img1.alt; document['mainimage'].title = img1.title; javascript:void(0);"><img src="{$smarty.const.dir_images}/t_{$this_page.image1}" title="" alt=""/></a>
于 2012-08-17T10:00:22.253 回答
2

使用 setAttribute :

document.getElementById("mainimage").setAttribute("alt", "My new Alt");
于 2012-08-17T09:45:12.713 回答
0

没有 jquery,您可以通过从父级中删除元素来替换元素,然后添加新元素

    <script type="text/javascript">
        function replaceImage(img , num){
            var parentNode = img.parentNode;
            parentNode.removeChild(img);
            parentNode.innerHTML += '<img id="mainimage" name="mainimage" src="{$smarty.const.dir_images}/l_{$this_page.image' + num + '}" title="{$this_page.image' + num + 'text}" alt="{$this_page.image' + num + 'text}" />'
        }
    </script>
    <img src="{$smarty.const.dir_images}/t_{$this_page.image1}" title="" alt="" onclick="replaceImage(this ,1)"/>
    <img src="{$smarty.const.dir_images}/t_{$this_page.image2}" title="" alt="" onclick="replaceImage(this ,2)"/>
于 2012-08-17T10:23:08.813 回答
0

你的意思是这个(jQuery方式)

img1.attr('alt','this is alt');
img1.attr('title', 'this is title');
于 2012-08-17T09:40:48.680 回答