10

OK、これはjqueryの「クリック」機能を使用して簡単に聞こえます。

重要なのは、ホバーされた色ではなく、リンクの元の色が必要なことです。たとえば、リンクが緑色で、ホバー状態がオレンジの場合、緑色を取得する必要があります。

私はできる限り最善を尽くし、それをフィドルで見せました

誰かアイデアがありますか?

編集:お詫びしますが、多くのワシの目が(指摘してくれてありがとう)見つけたので、緑は実際には「rgb(0、128、0)」であり、私のオリジナルに示されているようにrgb(0、255、0)ではありませんフィドル。

4

5 に答える 5

14

jQueryのdataオブジェクトに保存します。

$('a').each(function() {
    $(this).data('color', $(this).css('color') );
})
.click(function() {
    alert( $(this).data('color') );
});

これがあなたのフィドルです:http://jsfiddle.net/sVDYe/4/


パフォーマンスを向上させるために、ループで静的メソッドを使用します。彼らははるかに高速です:

$('a').each(function() {
    $.data(this, 'color', $.css(this, 'color') );
});

これがフィドルです:http://jsfiddle.net/sVDYe/13/

于 2012-08-31T14:14:28.347 に答える
1

以下のアプローチを試してください。

デモ:http://jsfiddle.net/sVDYe/33/

$("a").click(function(e) {
    e.preventDefault();
    var tmpLink =$(this).clone();
    tmpLink.appendTo($(this).parent());    
    var acolor = tmpLink.css("color");
    tmpLink.remove();

    if (acolor == 'rgb(255, 165, 0)') {
        alert('wrong color - its ORANGE =' + acolor);
    } else if (acolor == 'rgb(0, 128, 0)') {
        alert('CORRECT color - its GREEN =' + acolor);
    }
});

pimvdb指摘したように..緑はRGB(0,128,0)

于 2012-08-31T14:21:23.943 に答える
1

このようにしてみてください

http://jsfiddle.net/dadviegas/hfHBh/

于 2012-08-31T14:22:26.513 に答える
1

cssの代わりにJqueryを使用して色の変更を処理し、保存することができます。

http://jsfiddle.net/sVDYe/20/

var hoverColor;

$("a").hover(function () {
  hoverColor = $(this).css("color");
  $(this).css("color", 'orange');
}, function () {
  $(this).css("color", 'green');
});

$("a").click(function (e) {
  e.preventDefault();
  var acolor = hoverColor;
  if (acolor == 'rgb(255, 165, 0)') {
    alert('wrong color - its ORANGE =' + acolor);
  } else if (acolor == 'rgb(0, 128, 0)') {
    alert('CORRECT color - its GREEN =' + acolor);
  }
});

緑も

rgb(0、128、0)

于 2012-08-31T14:23:32.503 に答える
-1

これをチェックしてくださいそれは確かに動作します

<script>
    $("a").click(function () {
      $(this).toggleClass("colorclass");
    });
</script>
于 2012-08-31T14:19:45.717 に答える