Jquery: создать несколько объектов - PullRequest
4 голосов
/ 27 января 2011

Я создаю приложение-напоминание для веб-сайта iphone. Цель состоит в том, чтобы пользователь создал столько «наклеек», сколько ему нужно - все данные будут сохранены с помощью localalstorage.

У меня есть рабочий прототип стикеров:

    $( function() {
        $('#sticky-edit').bind( 'taphold', function( e ) {
            alert( 'You tapped and held!' );
            var thetext = localStorage.getItem("sticky");
            $(".sticky-text").html('<input id="sticky-input" type="text" value="'+thetext+'" />');
      } ); 
      
        $('#sticky-submit').bind( 'taphold', function( e ) {
            var data = $("#sticky-input").val();
            alert('Notes Saved!');
            localStorage.setItem("sticky", data);
            $(".sticky-text").text(localStorage.getItem("sticky")).show();
      } );  

    } );

    $(".sticky-text").text(localStorage.getItem("sticky")).show();
#stickies li {
    position: relative;
    width: 200px;
    min-height: 100px;
    margin: 25px auto;
    padding: 15px;
    background: #f1f3a2;
    background: -webkit-gradient(linear, 0% 0%, 0% 100%, from(rgba(247,247,210,1)), to(rgba(240,242,155,1)));
    background: -moz-linear-gradient(top, rgba(247,247,210,1), rgba(240,242,155,1));
    -webkit-box-shadow: 0 2px 12px rgba(0,0,0,.5);
    -moz-box-shadow: 0 2px 12px (rgba(0,0,0.5));
    box-shadow: 0 1px 2px #000;
    -webkit-transform: rotate(-.5deg); 
    -moz-transform: rotate(-.5deg); 
    -o-transform: rotate(-.5deg);   
    text-align: center;
    color: #000;
    text-shadow: white 1px 1px 0px;
    list-style: none;
}

#stickies li:nth-child(even) {
    -webkit-transform: rotate(.5deg); 
    -moz-transform: rotate(.5deg); 
    -o-transform: rotate(.5deg);     
}

#stickies li::before {
    content: ' ';
    display: block;
    position: absolute; 
    left: 65px;
    top: -15px;
    width: 75px;
    height: 25px;
    z-index: 2;
    background-color: rgba(243,245,228,0.5);
    border: 2px solid rgba(255,255,255,0.5);
    -webkit-box-shadow: 0 0 5px #888;
    -moz-box-shadow: 0 0 5px #888;
    box-shadow: 2px 2px 2px #000;
    -webkit-transform: rotate(-3deg); 
    -moz-transform: rotate(-3deg); 
    -o-transform: rotate(-3deg); 
}

#stickies li:nth-child(even)::before {
    -webkit-transform: rotate(3deg); 
    -moz-transform: rotate(3deg); 
    -o-transform: rotate(3deg);
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<ul id="stickies">
    <li>
        <p class="sticky-text">Hello</p>
        <a id="sticky-edit">Edit</a>
        <a id="sticky-submit">Submit</a>
    </li>
</ul>

Теперь все, что мне нужно сделать, - это выяснить, как позволить пользователю создавать столько стикеров, сколько ему нужно, каждый со своей локальной областью хранения. Это возможно с jquery или было бы проще использовать php для этого?

1 Ответ

1 голос
/ 27 января 2011

Я сделал это во Flash один раз.Что вы подразумеваете под местным хранилищем?Вы можете позволить пользователю зарабатывать столько, сколько он хочет, как это: http://jsfiddle.net/NegYd/14/, используя javascript / jquery.Ключ:

function appendSticky(){
     var e= document.getElementById("submittext").value;
     $("#stickies").append("<li>"+e+"</li>");
     $.post("store.php", { text: e} );//you'll have to submit user information
}

и html:

<input id="submittext" type='text'/>
<input type='submit' value='add note' onClick="javascript:appendSticky();"/>

Внутри store.php вы затем сохраняете стикеры в базе данных MySQL.$sql="INSERT.."

Я предлагаю организовать стикеры с float:left; со случайным значением margin-left, а не списком для окончательного восприятия.Или, что еще лучше, сделайте его перетаскиваемым.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...