Сортируемые Divs, которые сохраняют местоположения - PullRequest
1 голос
/ 11 марта 2011

Я пытаюсь создать свое первое расширение для Firefox, которое заменяет новую вкладку более похожей на Chrome.одна из функций - это плитки ваших «самых посещаемых сайтов», которые вы можете перетаскивать, чтобы изменить порядок.У меня есть их перетаскивание, но я не знаю, как сохранить новые местоположения DIV.

Это скрипт, который я использую:

$(document).ready(function(){
jQuery.fn.redswap = function(options){
    var selectedItems=this;
    redsettings = jQuery.extend({
         speed:"Medium",
         opacity:0.7
      }, options);
    $(selectedItems).mouseover(function(){
        $(selectedItems).disableSelection();
        $(selectedItems).droppable({
            drop: function(event, ui) {
                dropindex=$(selectedItems).index(this);
                var dragposition=$(selectedItems[dragindex]).position();
                var dropposition=$(selectedItems[dropindex]).position();

                withDifference=parseInt(dragposition.left)-parseInt(dropposition.left);
                heightDifference=parseInt(dragposition.top)-parseInt(dropposition.top);

                $(selectedItems[dropindex]).animate({
                    left:'+='+withDifference,
                    top:'+='+heightDifference
                },redsettings.speed,function(){

                });

                $(selectedItems[dragindex]).animate({
                    left:'+='+(withDifference*(-1)),
                    top:'+='+(heightDifference*(-1))
                },redsettings.speed,function(){
                    //Complete
                });


            },


        });

        $(this).draggable({ 
        opacity:redsettings.opacity, 
        helper: 'clone',
        containment: 'parent', 
        scroll: false,
        drag:function(event, ui){
                dragindex=$(selectedItems).index(this);
            }

        });

    });
    };

});

    // Settings

$(document).ready(function(){
    $("#wrapper").tabs();
    $("div[id*='box']").redswap({
        speed:'slow',
        opacity:.75
    });
});

И это мой HTML:

<div id="1box" class="item">
    <a href="http://www.google.com/reader/view"><img src="thumbs/01.png" border="0" />
    <h1>Google Reader</a></h1><a href="#" class="x"></a><a href="#" class="tack"></a>
</div>
<div id="2box" class="item">
    <a href="https://mail.google.com/"><img src="thumbs/02.png" border="0" />
    <h1>Gmail</a></h1><a href="#" class="x"></a><a href="#" class="tack"></a>
</div>
<div id="3box" class="item">
    <a href="http://calendar.google.com/"><img src="thumbs/03.png" border="0" />
    <h1>Google Calendar</a></h1><a href="#" class="x"></a><a href="#" class="tack"></a>
</div>
<div id="4box" class="item">
    <a href="http://www.twitter.com/"><img src="thumbs/04.png" border="0" />
    <h1>Twitter</a></h1><a href="#" class="x"></a><a href="#" class="tack"></a>
</div>

HTML еще не окончательный, но он делаетперетащите.Любая идея, как я могу сохранить новый порядок DIV, чтобы, когда я закрываю и открываю его снова, это была новая конфигурация?Если это невозможно сделать с помощью этого скрипта, тогда я в порядке, когда мне указывают на новую версию.

Имейте в виду, я очень плохо знаком с JavaScript, поэтому, пожалуйста, относитесь ко мне так, как будто яидиот:)

Кроме того, если вы хотите помочь мне в части кодирования, отправьте мне сообщение.

1 Ответ

0 голосов
/ 11 марта 2011

Похоже, вы ищете какое-то хранилище для хранения информации о вашей последовательности.

В этом вопросе Stack Overflow

обсуждаются три подхода, применимые к расширениям Firefox.

Мне кажется, что вариант SQLite или Файловая система будет хорошо работать для вашего приложения.

...