1

编辑-抱歉,这很不清楚。我想将 id 放入多个悬停事件的 src 中。

$("#trig1").hover(
  function () { 
    $("#main").attr("src", "trig1.png");
  }, 
  function () {
    $("#main").attr("src", "4.png");
  }
);

$("#trig2").hover(
  function () {
    $("#main").attr("src", "trig2.png");
  }, 
  function () {
    $("#main").attr("src", "4.png");
  }
);

$("#trig3").hover(
  function () {
    $("#main").attr("src", "trig3.png");
  }, 
  function () {
    $("#main").attr("src", "4.png");
  }
);

html

<area id="trig1 2 3 etc.." shape="poly" alt="blah" coords="0,1,2,3,4,...">
<img src="4.png">

我一直在尝试类似的东西

$('area').each(function(e)
   {
    $(this).hover(
        function () { 
        $(e).attr("src", $(e).attr("id") + ".png"});
    }, 
    function () {
        $("#main").attr("src", "4.png");
    });

这不起作用,但我真的不明白我在做什么关于函数(e)。有没有一个像样的地方可以阅读这个?

4

2 回答 2

6
$('#trig1, #trig2, #trig3').hover(
  function () { $('#main').attr('src', this.id.substr(-1) + '.png'); }, 
  function () { $("#main").attr('src', '4.png'); }
);
于 2012-10-02T02:05:11.773 回答
0

似乎您正在将src属性设置为trig1,trig2trig3不是您.png的 s.

尝试:

$(e).attr("src", ($(e).attr("id").charAt(4) + ".png") });

请注意,这是一个非常脆弱的实现,但您明白了,并且可能会找到一个更好的(基于正则表达式的?)。

于 2012-10-02T02:06:21.343 回答