我有一个显示如下计数的div:
如何将文本从0更改为任何单词,例如,当鼠标位于div上方时,并在鼠标离开时恢复为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或任何其他计数。
答案 0 :(得分:5)
你只需要使用悬停功能,第一个参数是鼠标悬停,第二个是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); }
);
答案 1 :(得分:2)
$inittext=$('div').html;
然后正如Shogun所说
$('div').hover(
function() { $(this).html('anyword'); },
function() { $(this).html($inittext); }
);
答案 2 :(得分: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>