jquery count悬停事件

时间:2011-05-12 07:18:39

标签: jquery events hover

我想计算多少时间,我正在鼠标悬停在html元素上。

for eample

链路

<a class="mylink">Check me Out !</a>

jquery的

jQuery('.mylink').hover(function(){

//what should i do here to count
});

提前致谢!

4 个答案:

答案 0 :(得分:6)

如果您想为每个匹配的元素保留一个单独的计数器,请执行以下操作:

jquery('.mylink').mouseover(function(){
    var $this = $(this);
    var count = parseInt($this.data('count'), 10) + 1;
    $this.data('count', count);
});

然后,您可以使用$(selector).data('count')获取每个元素的计数。

编辑:修正了愚蠢的错误。

答案 1 :(得分:4)

$(function()
{
    var myCounter = 0;
    $('.mylink').mouseover(function()
    {
        myCounter++;
    });
});

答案 2 :(得分:1)

如果您想知道将鼠标悬停在元素上的秒数,请尝试以下操作:

$('.mylink').hover(
    //mouseover handler
    function(){
        //record the current time
        $(this).data( 'start', new Date().getTime() );
    },
    //mouseout handler
    function(){
        //grab the end time
        var end = new Date().getTime();
        //calculate the difference in seconds
        var hoverTime = ( end - $(this).data('start') )/1000;
        //use the result
        alert( hoverTime.toFixed( 2 ) );
    }
);

答案 3 :(得分:0)

调用此函数......

jquery('.mylink').hover(function(){

start(true)
});


function start(isStarted, index){
if(!index){
 index = 0;
 }

 if(isStarted) {
 started[index] = true;
 counter[index] =0;

 }


if(started[index] && true) {
 counter[index] += 1;
 timer = setTimeout("start(false," + index + ")",1000);
 }

}