1

次のようなカウントを示す div があります。

たとえば、マウスがdivの上にあるときにテキストを0から任意の単語に変更し、マウスが離れると0に戻すにはどうすればよいですか。

このコードを試しましたが、うまくいきませんでした。

$('.post-fav a').bind('mouseenter',function() {
    var default_text = $(this).text();
    $(this).css({'background-position' : 'left bottom', 'color' : '#1871a4'});
    $(this).html('<?php _e('favorite','deluxe'); ?>');
});
$('.post-fav a').bind('mouseleave',function() {
    $(this).css({'background-position' : 'left top', 'color' : '#666'});
    $(this).text(default_text);
});

デフォルトのテキストは可変で、各要素には特定のカウントがあります。マウスが上に移動したときに初期カウントを保存する必要があります..jsで0またはその他のカウントとしてハードコードすることはできません。

4

3 に答える 3

5

ホバー機能を使用するだけです。最初のパラメーターは mouseover で、2 番目のパラメーターは mouseout です。

$('div').hover(
    function() { $(this).html('anyword'); },
    function() { $(this).html('0'); }
);

編集:

var storedtext;
$('div').hover(
    function() { 
        storedtext = $(this).html();
        $(this).html('anyword'); 
    },
    function() { $(this).html(storedtext); }
);
于 2012-07-13T20:44:08.490 に答える
2
$inittext=$('div').html;

そして、将軍が言ったように

$('div').hover(
function() { $(this).html('anyword'); },
function() { $(this).html($inittext); }
);
于 2012-07-13T20:51:16.460 に答える
1

最良の方法は、データ属性を使用することです。

<div data-initial-value="0">
<script>
$('div').bind('mouseenter',function() {
  var default_text = $(this).text();
  $(this).css({'background-position' : 'left bottom', 'color' : '#1871a4'});
  $(this).html('<?php _e('favorite','deluxe'); ?>');
});
$('div').bind('mouseleave',function() {
  $(this).css({'background-position' : 'left top', 'color' : '#666'});
  $(this).text($(this).data('initialValue');
}); 
</script>
于 2012-07-13T20:56:00.577 に答える