0

我正在尝试img通过 jquery 将 a 的位置动态更改为每次单击时的鼠标位置。问题是它不起作用。我的意思是它根本不动。这是我的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>

好的,它现在可以工作了。但是我还有另一个问题。每次点击时,图像都会自我复制。你认为为什么会这样?以及如何解决?

4

2 回答 2

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});
    });
});

.... 如果您希望圆的中心跟随鼠标单击。

于 2013-08-03T03:27:51.577 回答
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. 这只是一个不良渲染。

于 2013-08-03T15:17:32.550 回答