2011-06-27 8 views
0

はここに私の問題jQueryの - カントは私が要素をマウスオーバー時にマウスを置いた位置にその位置からのdivを移動する

されるCSS属性を変更するためにclientXを使用しています。

「ツールチップ」に似ていますが、マウスオーバーすると移動しません。ここでは、コードは次のとおりです。

$item.mouseover(function(){ 

//make visible 
    $tooltip.show(); 

    //change left and top values to mouse values 
    $tooltip.css("left","event.clientX + 'px'"); 
    $tooltip.css("top","200px");   
}); 

「event.clientX + 『ピクセル』が」動作するようには思えない、私はこの仕事を得ることができますとにかくありますか? トップアトリビュートは問題なく変更されていますが、マウスの値を取得することはできません。

どのようにitem.left & .topの値をマウスのものに変更できますか?

ty!

-Thaiscorpion

編集: うわーthatsのイムtrythem今ありがとう本当に超高速応答のために!

+0

ツールチップに 'position:absolute;'があることを確認してください。 – kapa

答えて

1

。だから、$.css()へのお電話は、より多くのこのようになります:

$item.mouseenter(function(event){ 
    $tooltip 
    .show() 
    .css({ 
     left: event.clientX + "px", 
     top: '200px' 
    }); 
}); 

デモ:http://jsbin.com/uzicek/5/edit

+0

デモのためにはすごくいいですね。 :D – Thaiscorpion

0

positionプロパティを変更する必要があります。おそらくz-indexも変更する必要があります。

4

CSSプロパティを文字通りevent.clientXpxに設定しています。引用符の外event.clientXを置く:

$tooltip.css("left", event.clientX + "px"); 
1

は交換してください:

$item.mouseover(function(){ 

    //make visible 
    $tooltip.show(); 

    //change left and top values to mouse values 
    $tooltip.css("left","event.clientX + 'px'"); 
    $tooltip.css("top","200px");   
}); 

をして:あなたは、文字列としてイベントオブジェクトを処理している

$item.mouseover(function(){ 

//make visible 
$tooltip.show(); 

//change left and top values to mouse values 
$tooltip.css("left",event.clientX + 'px'); 
$tooltip.css("top","200px");   
}); 
3

ここでは、あなたのコードのやり直しバージョンです:http://jsfiddle.net/maniator/EzdBx/

var $tooltip = $('#tooltip') 

$('.hover').hover(function(event) { 
    //make visible 
    $tooltip.show(); 
    //change left and top values to mouse values 
    $(this).bind('mousemove', function(event) { 
     $tooltip.css("left", event.clientX); 
     $tooltip.css("top", event.clientY); 
    }) 
}, function() { 
    $tooltip.hide(); 
}); 

CSS:

#tooltip { 
    display: none; 
    position: absolute; 
    /* anything you want here and below */ 
    width: 50px; 
    background: blue; 
} 
関連する問題