Savable ve alınabilir içeriği ile yapışkanlık bir sayfa oluşturma hakkında gitmek için en iyi yolu nedir?

4 Cevap php

I sticky notes with php and jquery ve jStickyNote bir göz vardı ve her ikisi de oldukça şık bir görünüm görünüyor ise onlar Sonra ben bazı unsurlar yoksundur. Ben özellikle kullanıcılar oluşturmak stickies değiştirmesine izin vermek için bir yol bulmak mümkün olmamıştır, ne de benim veritabanına kendi stickies kurtarmak için iyi bir yol bulduk. Ben, ve php, mysql ve jquery kullanarak tutmak istiyorum. Ben sadece bir klasöre oluşturulan görüntü kaydetmek ve bu veritabanına url kaydedin ama sonra geri dönüp kullanıcı yapışkan içeriğini değiştirmek için izin veremez ki ilk bağlantı ile düşündüm. Ikinci bir bağlantı ile tüm yapışkan tasarrufu için destek olmak için orada görünmüyor. Ben de (herkesin görmesi için) bir mesaj panosu stickies ekleyerek doğal görünen bir rastgele yerleştirilmiş şekilde yapar bir işlev oluşturmak istiyorum. Bu sorunlardan biri için herhangi bir fikir?

4 Cevap

İşte yardımcı olacak bazı javascript:

// Called when the edit (A) button is pressed
function edit(event, editButton)
{
    // Get existing title and change element to textarea
    var stickyTitle = $(editButton).parent().find('p.stickyTitle');
    var textareaTitle = $(document.createElement('textarea')).addClass('textareaTitle');
    $(textareaTitle).text(stickyTitle.html());

    // Get existing description and change element to textarea
    var stickyDescription = $(editButton).parent().find('p.stickyDescription');
    var textareaDescription = $(document.createElement('textarea')).addClass('textareaDescription');
    $(textareaDescription).text(stickyDescription.html());

    // Create save button
    var saveButton = $(document.createElement('div')).addClass('jSticky-create');                    

    // Add save button, then replace title, then replace description, then remove edit button
    $(editButton).before(saveButton);
    $(editButton).parent().find('p.stickyTitle').before(textareaTitle).remove();
    $(editButton).parent().find('p.stickyDescription').before(textareaDescription).remove();
    $(editButton).remove();

    // Set description textarea focus and set button actions
    textareaTitle.focus();
    setActions();
}

// Called when the save (tick) button is pressed
function save(event, saveButton)
{
    // Get existing title and change element to paragraph
    var textareaTitle = $(saveButton).parent().find('textarea.textareaTitle');
    var stickyTitle = $(document.createElement('p')).addClass('stickyTitle');
    var newTitleValue = textareaTitle.val();
    $(stickyTitle).html(newTitleValue);

    // Get existing description and change element to paragraph
    var textareaDescription = $(saveButton).parent().find('textarea.textareaDescription');
    var stickyDescription = $(document.createElement('p')).addClass('stickyDescription');
    var newDescriptionValue = textareaDescription.val();
    $(stickyDescription).html(newDescriptionValue);

    // Create edit button
    var editButton = $(document.createElement('div')).addClass('jSticky-edit');

    // Add edit button, then replace title, then replace description, then remove save button
    $(saveButton).before(editButton);
    $(saveButton).parent().find('textarea.textareaTitle').before(stickyTitle).remove();
    $(saveButton).parent().find('textarea.textareaDescription').before(stickyDescription).remove();
    $(saveButton).remove();

    // Set button actions
    setActions();

    // Add the object to the ads div
    $('#ads').append(object);

    // Update your database here
    // by calling the saveAd.php
}

function setActions()
{

    // call these after changes are made to anything
    $('.jSticky-create').unbind('click').click(function(e)
    {
        save(e, this);
    });

    $('.jSticky-edit').unbind('click').click(function(e)
    {
        edit(e, this);
    });

    $('.jSticky-delete').unbind('click').click(function(e)
    {
        remove(e, this);
    });
}

function remove(event, deleteButton)
{
    var stickyMaster = $(deleteButton).parent();
    $(stickyMaster).remove();
    //then call savead.php with delete parameter
}

Eğer kodunun herhangi bir baktı mı? Ben jStickyNote de gerçekten hızlı bir göz attım.

Temelde, "yapışkan not" bir css tarz, metin alanı (bir div elemanı tarafından çevreleyen is).

Kullanıcıların yapışkan notlar / düzenlemek geçmiş notları tasarruf edebilmek istiyorsanız, burada ben tavsiye ederim ne:

  • "Kaydet" diyor Her nota ya da benzer bir anlamı olan bazı düğme ekleyin.
  • Bir kullanıcı "Kaydet" butonuna tıkladığında, bu belirli textarea elemanı metni kapmak ve sonra da bir veritabanına metni kaydetmek gerekir.

With that said, you'll probably need to design some sort of database with a user table and sticknote table. The sticknote table can have a foreign key to the user table. You'll also want to add some sort of login functionality to your site and then load the correct sticky notes for the authenticated user.

İyi Şanslar!

Kod google appengine ekibi tarafından serbest bırakıldı - Sen http://sticky.appspot.com de bir göz atabilirsiniz.

Ayrıntılarına girmeden, ama bir tasarrufu düğmesi tıklandığında (ya da kutu taşınır, hatta KeyUp üzerinde) $. Ajax ile (ne zaman) bir php komut dosyası yüklemek için eklenti kodu değiştirebilir, geçirmeden için özür yatay ve dikey pozisyonları ve not (diyelim ki, $ ("# not-içerik"). text ()) ve komut dosyası bir MySQL sorgusu ile bir veritabanına şeyleri takmak zorunda içeriği. Sadece verileri seri ve uzak gönderin. Eğer isterseniz, kullanıcıların birden fazla notları atalım, ancak bir ile başlar, bu daha karmaşık alır. Tam olarak nerede, mesele nedir? Ben daha çok belli olur, ama ben zaten biliyorum emin değilim.

Ben üzerinde çalışıyorum bir uygulama bu özelliği ekleyerek daha önce hakkında düşünüyordum. Şey, ben bu eklentileri sevmiyorum, olduğunu. Bu olsa kendi yazmak çok basit olmalıdır. Eğer özel bir şey ile yardıma ihtiyacınız varsa bana bildirin.