我有两个不同的图像,我相互叠加。 .image-1是背景图像,.image-2是前景图像。我想这样,因为前景图像是一个包含整个内部的PNG文件。当您浏览整个视图时,您会看到背景图像的一部分。我希望能够通过JQuery中的draggable移动背景图像。这不起作用,因为我无法触摸背景图层,因为它被前景图层覆盖。这是我的源代码:
CSS
.image-1
{
z-index: 0;
position: absolute;
background-image: url("image_1.png");
width: 400px;
height: 400px;
background-repeat: no-repeat;
background-position: center;
}
.image-2
{
z-index: 1;
position: absolute;
background-image: url("image_2.png");
width: 400px;
height: 400px;
background-repeat: no-repeat;
background-position: center;
}
HTML
<div class="image-1"></div>
<div class="image-2"></div>
JQuery的
$(".image-1").draggable({});
如何通过可拖动访问背景div,但仍然保留我在后台移动的图像?
编辑:
我试过这样:
$("#image-2").mousedown(function(event)
{
$("#image-1").draggable({ });
});
但它不起作用。
答案 0 :(得分:1)
从较高层获取事件并将其传递给较低层。不要在每个mousedown上触发draggable,而是将drag事件传递给下层。
$(".image-1").draggable({});
$(".image-2").mousedown(function(event){
$(".image-1").trigger(event);
});
.image-1
{
z-index: 0;
position: absolute;
background:#444444;
width: 400px;
height: 400px;
background-repeat: no-repeat;
background-position: center;
}
.image-2
{
z-index: 1;
position: absolute;
background:#ff0000;
width: 400px;
height: 400px;
background-repeat: no-repeat;
background-position: center;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<script src="https://code.jquery.com/ui/jquery-ui-git.js"></script>
<div class="image-1"></div>
<div class="image-2"></div>