2012-08-03 14 views
9

'Edit-div' içindeki 'src-div' içeriğinin görüntülenmesine ve görüntülenmesine izin veren bir site oluşturuyorum. Ben src-div'i doğrudan düzenlemiyorum çünkü css zoom özelliğini kullanarak küçük resimlerini.Bir html elemanını aynı sayfada iki kez görüntülemek mümkün mü yoksa bir kopya mı oluşturmalıyım?

Her iki öğeyi gözlemlenebilir bireye bağlamak için knockout.js kullanmayı düşündüm. Şu anda, jquery .html() işleviyle bu özelliği uyguladım: sadece 'select' üzerinde src-div innerhtml için edit-div innerhtml'yi ayarlayın ve src-div'i güncellemek için edit-div değiştirildikten sonra işlemi tersine çevirin.

Gerçekten burada 2 taneye ihtiyacım var mı, yoksa aynı öğeyi bir sayfada iki kez görüntülemenin bir yolu varsa ve yapılan değişikliklerin her iki "görünüme" yansırsa, kopyalama gereksinimini ortadan kaldırır innerhtml özelliği iki öğe arasında ileri ve geri. Esas olarak, bu, ayna olmadan bir ayna efekti gibidir.

Ben bugüne kadar bulunmuş en yakın şeydir: Bu görevi gerçekleştirmek için

http://developer.apple.com/library/safari/#documentation/InternetWeb/Conceptual/SafariVisualEffectsProgGuide/Reflections/Reflections.html

Herhangi önerilen uygulamalar takdir edilmektedir. Bir sayfada gördüğünüz her şeyin DOM'de bir karşılığı var.

+2

Sadece insanlar gibi, DOM öğeleri herhangi bir zamanda sadece bir yerde olabilir .. iki "sen" için, bir klon :-) –

cevap

5

(Hemen hemen) DOM'daki her şey tam olarak bir kez işleniyor (sözde sınıflardan başka). Ve DOM'deki her düğümün yalnızca bir ebeveyni olabilir (hariç tutma).

Geçerli CSS belgelerinde hiçbir kopya & çeviri yok olduğundan, belirli bir düğümü kopyalayıp her ikisine de değişiklik eklemeniz gerekir.

3

Eğer jquery kullanıyorsanız bir div kullanabilir ve "klonlayabilirsiniz". Daha fazla bilgi için bunu okuyabilirsiniz. http://api.jquery.com/clone/

Divanın sınıfını aynı şey olarak ayarlarsanız, her ikisine de yayılan değişiklikler yapabilirsiniz. Sonra "yansıyan" etkiyi uygulamak için .addClass'i ikinci div'e uygulayabilirsiniz (eğer bu son hedefiniz buysa).

+1

gerekir Ayrıca, jQuery ile aynı jQuery nesnesinde her iki öğe de olabilir, Örneğin 'elements = $ (elm1) .append (elm2)'; daha sonra 'elements.attr (..)' (vb.) bunları bir seferde etkiler. –

İlgili konular