我開始一個項目,要求用戶能夠創建多個自定義頭像。爲此,我希望他們能夠將庫存中的圖像發送到操作框。在這個框架內,用戶應該能夠移動和調整圖像大小 - 雙擊它們可以從框架中移除圖像並將其發送回庫存。在操作框的右側,我想要一個可排序的列表,它將指定相應項目的z-index,頂部的項目位於操作框的後面。到目前爲止,我有這個:http://jsfiddle.net/Thaikhan/e3Gd6/10/show/。創建自定義頭像
該列表生成並排序,但不影響圖像的z索引。此外,代碼非常麻煩,並且圖像通常會消失。
見的jsfiddle這裏:http://jsfiddle.net/Thaikhan/e3Gd6/10/
下面是JavaScript代碼:
//Click into Frame
$('.inventory').on('click', 'img', function() {
$(this).resizable({
aspectRatio: 1,
autoHide: true,
containment: "parent",
minHeight: 50,
minWidth: 50
});
$(this).parent().appendTo(".frame").draggable({
containment: "parent",
cursor: "move"
});
refreshIndexList();
});
//Double Click out of Frame
$('.frame').on('dblclick', '.ui-draggable', function() {
$(this).appendTo(".inventory");
$(this).draggable("destroy");
$("img", this).resizable("destroy").attr('style', '');
refreshIndexList();
});
//Updates List Items
function refreshIndexList() {
var listitems = $('.frame').children().length;
$('#sortable').empty();
var titles = $(".frame img:nth-of-type(1)").attr('title');
for (var count = 1; count <= listitems; count++) {
var title = $(".frame img").eq(count-1).attr('title');
var $li = $("<li class='ui-state-default'/>").text(title);
$('#sortable').append($li);
}
}
//Makes List Sortable
$(function() {
$("#sortable").sortable({
placeholder: "ui-state-highlight"
});
$("#sortable").disableSelection();
});
//Inventory Grid
$(function() {
$("#grid").sortable();
$("#grid").disableSelection();
});
我在JavaScript中的新手和得到這個地步已經收到太多的幫助。我希望我能再次得到社區的幫助,並找出如何讓可排序列表更改項目的z-index。此外,如果有人看到爲什麼它是越野車,請讓我知道。最終,我希望能夠從操作框架中獲取image_id,它們的位置,z索引和它們的大小,並將它們全部存儲在數據庫中。這將有望讓用戶返回並編輯他們的頭像創作。
千謝謝您的幫助!
你是我的 英雄!謝謝你這麼raskalbass!你碰巧有什麼想法,爲什麼當我點擊它們時圖像往往會突然出現並且看不見? – Skryeur
你到底在做什麼?我無法觸發這個 – raskalbass
我正在使用chrome。如果我將所有圖像單擊到框架中,然後將它們全部移動到中心以使它們重疊,然後雙擊頂部圖像,幾乎沒有錯誤地將其他圖像向上移動。 – Skryeur