2011-10-04 16 views
7

Web sayfasının üst kısmındaki bir öğenin (div) görüntülenmesi gerekir. Kaydırma sırasında, kaydırma sona erdikten sonra öğe kaybolmalı ve yeniden görünmelidir. Sayfa sırasına göre gizleme ve gösterme iphone üzerinde kaydırma

karmaşıklığı eklemek için:

  1. bizim kod konuk kodu (böylece biz vb DOM yapısını manipüle edemez) 'dir.
  2. bizim kod Biz belge/vücut üzerinde touchstart olay dinlemek ve bu işle işleyicisinde elemanını (div) gizlemek için denedim iPhone/iPad (mobil Safari tarayıcı)

üzerinde çalışmak için tasarlanmıştır. Ancak, bazı sitelerde (DOM yapısı makul ölçüde karmaşık hale geldiğinde), işleyici uygulaması tamamen boş olsa bile, kaydırma yanıt süresi önemli ölçüde artar.

Öğe (yeniden) görünümünü, kaydırma yaparken kullanıcı deneyiminden en az düzeyde etkilenerek yönetmenin uygun yolunu arıyoruz.

cevap

0

akıcı, desteklenir. Sorunlarınızı çözmek için iyi bir başlangıç ​​noktası olabilir.

+0

Klavyede çalışmıyor – Petah

+0

iOS 6 ... üzerinde sabit hata var Not: Sadece aşağıdaki meta etiketi kullanarak Android 2.2+ işletim sisteminde çalışır: . iOS Safari'de kısmi destek, buggy davranışını ifade eder." --http: //caniuse.com/css-fixed – nym

1

Javascript'in en iyi çözüm olduğunu düşünürdüm. DIV'nizi dinamik olarak document.createElement öğesini kullanarak herhangi bir içeriğe ekleyebilir, sonra da onu dinlemek için biraz javascript ekleyebilirsiniz ...

İsterseniz DIV'yi yerel koddan oluşturulan özel HTML kullanarak da doldurabilirsiniz.

Herhangi bir yardım?

+1

'onScroll' işleyici * sonradan * kaydırma, bizim durumumuzda, öğeyi gizlemek istiyoruz * önce * kaydırma başlar. – roee

1

JQuery kullanıcısı olup olmadığını bilmiyorum, ancak bu .scroll() işlevi tam olarak ne yapmak istediğinizi yapmanıza yardımcı olabilir. Nasıl çalıştığını görmek için demoya göz atın. senin eleman ekran koordinatları yerleştirilmelidir böylece son iOS sürümü (5.x) sabit konumlandırma (CSS'deki position:fixed) olarak

http://api.jquery.com/scroll/

İlgili konular