我怎样才能改变

时间:2011-02-09 22:41:47

标签: jquery

当点击另一个div(图库)中的图像时,我有一个脚本来更改div(main_view)中显示的img src:

JS

//Swap Image on Click
   $("ul.thumb li a").click(function() {
    var mainImage = $(this).attr("href"); //Find Image Name
    $("#main_view img").attr({ src: mainImage });
    return false;
   });

HTML

<div id="gallery">
  <ul class="thumb">
    <li><a href="images/childrentxt.png"><img src="images/buttons/kids.png"
         title="children.htm" /></a></li>
    <li><a href="images/martialartstxt.png"><img src="images/buttons/dee.png"
         title="mma.htm" /></a></li>   
    <li><a href="images/cardiotxt.png"><img src="images/buttons/cardio.png"
         title="fitness.htm" /></a></li>
    <li><a href="images/combattxt.png"><img src="images/buttons/tristan.png"
         title="combat.htm" /></a></li>
  </ul>
</div>

<div id="main_view">
    <a href="fitness.htm" title="Mixed Martial Arts" target="_self">
    <img src="images/maintxt.png" alt="" /></a>
</div>

然后,我想允许用户点击main_view div中显示的图像,以导航到与该图像相关联的页面。

我是jquery和js的新手,并且没有成功编写脚本来执行此操作。

目前“main_view的img src”可以在“gallery a a href”中找到。我一直在尝试使用“gallery img title”来存储用于更新“main_view a href”onclick的值。有人可以帮助我吗?

谢谢, 特蕾西

2 个答案:

答案 0 :(得分:1)

 $("ul.thumb li a").click(function() {
    $("#main_view img").attr('src', $(this).attr("href"));
    return false;
   }); 

或完全摆脱a href并将点击绑定到图像

 $("ul.thumb li img").click(function() {
    $("#main_view img").attr('src', $(this).attr("title"));
    return false;
   }); 

答案 1 :(得分:0)

首先,我不建议使用title属性来存储href。标题是为了别的东西。相反,更好的属性是rel

所以,我就是这样做的。我会将title属性更改为rel,然后使用图片标题添加title属性。

<div id="gallery">
  <ul class="thumb">
    <li><a href="images/childrentxt.png"><img src="images/buttons/kids.png"
         rel="children.htm" title="Name of image 1" /></a></li>
    <li><a href="images/martialartstxt.png"><img src="images/buttons/dee.png"
         rel="mma.htm" title="Name of image 2" /></a></li>   
    <li><a href="images/cardiotxt.png"><img src="images/buttons/cardio.png"
         rel="fitness.htm" title="Name of image 3" /></a></li>
    <li><a href="images/combattxt.png"><img src="images/buttons/tristan.png"
         rel="combat.htm" title="Name of image 4" /></a></li>
  </ul>
</div>

<div id="main_view">
    <a href="fitness.htm" title="Mixed Martial Arts" target="_self">
    <img src="images/maintxt.png" alt="" /></a>
</div>

现在是JS:

$("ul.thumb li a").click(function() {
    var mainImage = $(this).attr("href"); // Find Image URL
    var imgLink = $(this).children('img').attr('rel'); // Find the image link in rel
    var imgTitle = $(this).children('img').attr('title'); // Find the image title
    $("#main_view").html('<a href="' + imgLink + '" title="' + imgTitle + '" target="_self"><img src="' + mainImage + '" alt="" /></a>');
    return false;
});

因此,我只是填充整个#main_view div,而不仅仅是更改img src。我还从图像标签中抓取了图像标题。

我没有对此进行过测试,但它应该有效。