通过JQuery动态更改图像的位置到鼠标位置

时间:2013-08-03 03:14:59

标签: javascript jquery html5 css3 onclick

我试图通过jquery在每次点击时动态地将img的位置改为我的鼠标位置。问题是它不起作用。我的意思是它根本不动。这是我的jquery代码:

$(document).ready(function() {
    $(document).click(function(e) {
    $('#circle').css({position:'absolute', 'left':e.pageX, 'top':e.pageY});
    });
});

帮助将不胜感激。我对此有点陌生,所以,需要你指导我的答案。提前谢谢。

这是我要求的html和css代码:

#circle {
    max-width:25px;
    max-height:36px;
    width:auto;
    height:auto;
    -webkit-filter: drop-shadow(0px 0px 5px #ffffff);
}

HTML :(在我的身体标签内)

<img src="Images/circleIcon.png" id="circle">

<div id="JavaScript_JQuery">
    <script type="text/javascript" src="Javascript/jquery-1.10.2.min.js"></script>
    <script type="text/javascript" src="Javascript/jquery-ui.js"></script>
    <script type="text/javascript" src="Javascript/jUI.js"></script>
</div>

好的它现在正在工作..但我有另一个问题。每次点击都会复制图像。为什么你认为这种情况正在发生?以及如何解决?

2 个答案:

答案 0 :(得分:1)

您的<script>标记应位于<head>部分,而不是页面正文中的div。您还需要确保它们实际上是使用控制台加载的。

$(document).ready(function() {
    $(document).on('click',(function(e) {
         var radius = $('#circle').height() / 2;
         $('#circle').css({position:'absolute', 'left':e.pageX-radius, 'top':e.pageY-radius});
    });
});

....如果你想让圆圈的 CENTER 跟随鼠标点击。

答案 1 :(得分:1)

每次点击都会更新圈子位置:

$(function() {
    $(document).on('click', function(e) {
        var radius = $('#circle').height() / 2;
        $('#circle').css({'left':e.pageX - radius, 'top':e.pageY - radius});
    });    
});

查看实例: JSFiddle

重复问题似乎来自-webkit-drop-shadow。这只是一个错误的渲染。