我仍然对jquery很新,并且想知道是否有人可以帮助我。我有一个小脚本,可以检测光标的位置,并有一个图像跟随它。如果单击鼠标按钮,我会被困在如何让图像停止/开始跟随。任何人都可以帮我指点写作方向吗?
<!doctype html>
<head>
<title>Follow</title>
<link href="stylesheets/standard.css" rel="stylesheet">
<script src="http://code.jquery.com/jquery-latest.min.js"></script>
<script>
$(document).ready(function() {
$("html").mousemove(function (e) {
var xPos = e.pageX;
var yPos = e.pageY;
$("#foxlocation").html("The fox is at: " + xPos + ", " + yPos);
$("#imgFollow").offset({left:e.pageX,top:e.pageY});
});
});
</script>
</head>
<body>
<h1>Test</h1>
<h2 id="foxlocation"></h2>
<img id="imgFollow" width="75px" height="75px" src="images/fox.jpg"></img>
<footer>Test2</footer>
</body>
</html>
答案 0 :(得分:4)
$(document).ready(function () {
var init = true;
$(document).on('click', function () {
$(this)[init ? 'on' : 'off']('mousemove', follow);
init = !init;
});
function follow(e) {
var xPos = e.pageX;
var yPos = e.pageY;
$("#foxlocation").html("The fox is at: " + xPos + ", " + yPos);
$("#imgFollow").offset({
left: e.pageX,
top: e.pageY
});
}
});
修改强>
要开始初始化函数,最简单的方法就是触发点击:
$(document).on('click', function () {
$(this)[init ? 'on' : 'off']('mousemove', follow);
init = !init;
}).trigger('click');
答案 1 :(得分:0)
以下是一个示例: LIVE EXAMPLE
使用我的解决方案,图片在页面加载后直接跟随鼠标,无需用户交互
我正在使用CSS属性
#imgFollow{
position:absolute;
}
您的代码除了.css()
而不是.offset()
$(document).ready(function () {
$(window).mousemove(function (e) {
var xPos = e.pageX;
var yPos = e.pageY;
$("#foxlocation").html("The fox is at: " + xPos + ", " + yPos);
$("#imgFollow").css({
left: e.pageX,
top: e.pageY
});
});
});
答案 2 :(得分:0)
试试这个!
$(document).ready(function() {
$("html").mousemove(function (e) {
follow(e);
})
.click( function () {
var foo = $.data( this, 'events' ).mousemove;
if(typeof foo = 'function') {
$(this).off('mousemove');
} else {
$(this).mousemove( function (e) {
follow(e);
});
}
});
});
function follow(e){
var xPos = e.pageX;
var yPos = e.pageY;
$("#foxlocation").html("The fox is at: " + xPos + ", " + yPos);
$("#imgFollow").offset({left:e.pageX,top:e.pageY});
}