我的网站上有一个侧面固定标签,当它点击菜单显示时。在这个菜单上,我有一个带图像的列表。
我想实现的是,用户可以拖动图片到我的网站的身体,然后移动它,并在任何地方重新定位他们想要的 - 我没有与实现这一目标的任何困难,并已完成了使用前的工作ui draggable and droppable。
然而,我遇到的问题是实现以下目标:
当图像被从列表中拖动的菜单上到主体,我想要一个图像的“克隆”留在菜单上,使得相同的图像可以被拖动到主体多次,产生多个相同的背景图片。
我希望能够折叠/关闭含有图像的列表菜单返回到其原始位置作为固定标签上的webpage.-我可以实现这个的左手侧,我有问题是,当我关闭菜单,根据菜单移动我放置在页面主体上的所有拖放图像移动位置,我想要的是让他们留在我拖动/放下它们的位置,无论菜单是否是打开或关闭。
我想在菜单上同时显示多个图像,但一次只显示4个,所以当用户点击左边的按钮时,按钮右边的div会显示更多的图像。
最后我在菜单上有一个名为clear的按钮,当点击它时会移除身体上所有拖动的图像(一块干净的石板)。
我的HTML是:
<div id="work-slide-menu">
<div id="work-slide-menu-tab">
<a href="#/!"></a>
</div>
<div id="work-slide-menu-content">
<span class="button left"></span><span
<ul>
<li><img class="sticker-picker" src="<?php bloginfo('stylesheet_directory'); ?>/images/cow.png" alt="" /></li>
<li><img class="sticker-picker" src="<?php bloginfo('stylesheet_directory'); ?>/images/chicken.png" alt="" /></li>
<li><img class="sticker-picker" src="<?php bloginfo('stylesheet_directory'); ?>/images/cloud.png" alt="" /></li>
<li><img class="sticker-picker" src="<?php bloginfo('stylesheet_directory'); ?>/images/dog.png" alt="" /></li>
<li><img class="sticker-picker" src="<?php bloginfo('stylesheet_directory'); ?>/images/heart.png" alt="" /></li>
<li><img class="sticker-picker" src="<?php bloginfo('stylesheet_directory'); ?>/images/monkey.png" alt="" /></li>
<li><img class="sticker-picker" src="<?php bloginfo('stylesheet_directory'); ?>/images/rabbit.png" alt="" /></li>
</ul>
<span class="button right"></span><span class="button clear"></span><span class="button close"></span>
</div>
</div>
我的jquery是:
$(window).load(function() {
$("#work-slide-menu").css('left', '-800px');
$("#work-slide-menu-tab a").toggle(
function () {
$(this).text('Quick Contact Hide / Close [-]')
$("#work-slide-menu").animate({left: "100px"}, {queue:false, duration: 500, easing: 'linear'})
},
function () {
$(this).text('Quick Contact Show / Open [+]')
$("#work-slide-menu").animate({left: "-800px"}, {queue:false, duration: 500, easing: 'linear'})
}
);
});
$('#work-slide-menu-content span.button.clear').click(function()
{
stickersRemoveAll(true);
});
$('#work-slide-menu-content span.button.close').click(function()
{
$("#work-slide-menu").animate({left: "-800px"}, {queue:false, duration: 500, easing: 'linear'})
});
$(document).ready(function() {
$("img.sticker-picker").draggable({helper: 'clone', containment:'document', cursor:'move'});
$("body").droppable({
accept: ".img.sticker-picker",
cursor: 'move',
containment: 'document',
stop: stickerMoved
});
});
我的css是:
#work-slide-menu { position: fixed; left: -800px; top: 320px; width: 847px; z-index: 9998; }
#work-slide-menu-tab,
#work-slide-menu-content {
background: #ffc423;
}
#work-slide-menu span.button.left {
left: 0px;
background-position: left bottom;
}
#work-slide-menu span.button.right {
right: 45px;
background-position: left top;
}
#work-slide-menu span.button.clear {
top: 125px;
right: 195px;
width: 156px;
height: 38px;
background-image: url('images/button_stickersclear.png');
background-position: left top;
}
#work-slide-menu span.button.close {
top: 106px;
right: 63px;
width: 126px;
height: 57px;
background-image: url('images/button_stickersclose.png');
background-position: left top;
}
#work-slide-menu span.button {
display: block;
position: absolute;
top: 0px;
width: 82px;
height: 125px;
cursor: pointer;
background-image: url('images/stickers-navi.png');
}
#work-slide-menu-tab {
width: 47px;
height: 107px;
float: right;
}
#work-slide-menu-tab a {
display: block;
width: 100%;
height: 100%;
background:url(../img/view-all-work.png) no-repeat center;
}
#work-slide-menu-content {
width: 800px;
height:150px;
height: auto;
float: left;
}
#work-slide-menu-content ul {
list-style: none;
margin: 20px;
padding: 0;
height:140px;
}
#work-slide-menu-content ul li {
height: 125px;
margin: 0px 20px;
float: left;
}
#work-slide-menu-content ul li a {
color: #111;
text-decoration: none;
}
#work-slide-menu-content ul li a:hover {
color: #fff;
}
img.sticker
{
display: block;
position: absolute;
z-index: 3;
}
img.sticker-dropped
{
display: block;
position: absolute;
z-index: 18;
}
答案 0 :(得分:1)
draggable的默认行为是被拖动的对象的幻像是原始对象。
您必须使用帮助程序选项来定义拖动的对象。在你的情况下,这将是一个新的对象,你将在另一边放置任何需要删除的东西。