では、div '.prodimg' をマウスの位置に合わせたいと思います。これは機能しますが、'.details' と '.prodimg' の親 div である #wrapper の左側の位置に相対的に配置されていることを除きます。なぜこうなった?それを修正するための提案、またはマウスを追跡する代替方法はありますか?
'.prodimg' のトップ位置が #wrapper トップに対して相対的だったので、それを padding-top に変更し、.prodimg を修正しました。これは私の問題と関係がありますが、左の位置に対して同様の解決策を見つけることができません。理想的には、pageX と pageY をウィンドウ全体に関連付けるためにラッパーを変更する必要はありません。
'#wrapper' position:relative を試してみましたが、何も変わりませんでした。「.details」は、インラインで浮動できるように相対的でなければなりません。ラッパーの下にjqueryを入力しました。「ウィンドウ」の代わりに「ドキュメント」を使用してみました。これと関係があるかどうかはわかりません...助けてください!私はこの問題でほぼ 3 時間を失いました :/
ここに私のフィドルがあります:http://jsfiddle.net/vg2zL/
$(document).ready(function() {
var mouseX;
var mouseY;
$(window).mousemove( function(e) {
mouseX = e.pageX;
mouseY = e.pageY;
});
$(".details").hover(
function () {
$(this).children(".prodimg").css("visibility","visible");
$(window).bind('mousemove', function(e){
$(".details").children(".prodimg").css({'top':mouseY,'left':mouseX});
});
},
function () {
$(".prodimg").css("visibility","hidden");
});
});
ここに私のスタイルがあります
#wrapper {
width: 700px;
padding-top: 130px;
position: absolute;
left:50%;
margin-left: -351px;
font-size: 30px;
font-family: 'cmu_serifroman';
}
.details {
text-align:center;
width:200px;
display:inline-block;
line-height:40px;
margin-right:50px;
cursor:pointer;
}
.prodimg {
visibility:hidden;
position:absolute;
z-index:-1;
}