2016-04-24 6 views
0

С Metro UI CSS создания draggable довольно легко:Как сохранить positon draggable с Metro UI CSS?

<div data-role="draggable"></div> 

Это интересно для конечного пользователя, чтобы перетащить элемент, как это и было бы даже хорошо, если бы я мог спасти положение перетаскиваемым (после того, как перетаскивается) для следующего посещения пользователя. Итак, как я могу это сделать?

+1

С этим типом вещей это типично, в котором Javascript обрабатывает это CSS как атрибут стиля (и делает это в этом дело). Вы можете просто сохранить атрибут стиля в [localStorage] (https://developer.mozilla.org/en-US/docs/Web/API/Window/localStorage). –

+0

@MichaelSchwartz Как определить, когда элемент перетаскивается, используя JavaScript, чтобы я мог его сохранить? – anshabhi

+0

Да, с помощью JavaScript вы можете использовать [события мыши или касания] (http://www.html5rocks.com/en/mobile/touchandmouse/), чтобы обнаружить, когда элемент перетаскивается. –

ответ

1

С этими типами вещей это типично, когда javascript обрабатывает его как CSS как атрибут стиля (и делает это в этом случае). Вы можете просто сохранить его атрибут стиля в localStorage.

HTML:

<div class="box" data-role="draggable"></div> 

JavaScript/JQuery:

if (localStorage.getItem("elmPos")) { 
    $(".box").attr("style", localStorage.getItem("elmPos")) 
} 

$(".box").on("mousedown touchstart mousemove touchmove mouseup touchend", function() { 
    localStorage.setItem("elmPos", $(".box").attr("style")) 
})