Ana içeriğe geç
Arayüz mühendisliği

Hareketli arayüzlerde kontrolü kullanıcıya bırakmak

13 Ekim 2026Yaklaşık 3 dk okuma
Arayüz kodunu ve etkileşim adımlarını anlatan illüstrasyon
Konuyu anlatan editoryal illüstrasyon.

Hareketli bir karakter, bir ürünü tanıtmak veya arayüzde yol göstermek için kullanılabilir. Kullanıcının okumak, yazmak ya da bir bağlantıya tıklamak istediği anlarda ise geri çekilmesi gerekir. bluedev'deki ajantikmuhasebe karakterini geliştirirken hareketin kendisi kadar bu durma koşullarına da odaklandık.

Önce hareketi durdurma koşullarını tanımlayın

Tarayıcıdaki hareket azaltma tercihini izleyin. Bu tercihte karakterin kaybolması gerekmez; kendi kendine gezinmek yerine sabit durabilir ve tanıtımını beklemeden gösterebilir. Dokunmatik ekranda hareketli bir hedefi yakalamak zorlaşacağı için otomatik gezinme yerine taşıma ve dokunmayla açma daha uygun olabilir.

Sekme görünür değilken, kullanıcı bir form alanına yazarken veya bir pencere açıkken gezinmeyi durdurun. Page Visibility API sekmenin görünürlüğünü bildirir; tek başına bir öğenin ekranda ne kadarının göründüğünü söylemez. Bu ayrımı, yalnızca görünür öğelerde çizim yaparken ayrıca ele almak gerekir.

Konumu görünümden ayrı tutun

Sürükleme sırasında sık değişen koordinatların her seferinde bütün uygulamayı yeniden çizdirmesi gerekmez. Geçici konumu bir referansta tutup küçük bir kapsayıcının transform değerini güncelleyebilirsiniz. Tanıtımın açık olup olmadığı gibi arayüz durumlarını ise React durumunda tutun.

Web Animations API bir kapsayıcıyı iki konum arasında hareket ettirebilir. Hareket yarıda durdurulacaksa önce ekranda görülen konumu alın, animasyonu iptal edin ve kapsayıcıyı bu konuma yerleştirin. Aksi hâlde karakter başlangıç noktasına sıçrayabilir.

Sürüklemeyi tıklamadan ayırın

Pointer capture, basılı tutma başladıktan sonra gelen işaretçi olaylarını aynı öğeye yönlendirir. Kullanıcı öğenin dışına çıktığında da hareketi izleyebilirsiniz. pointerup ve pointercancel durumlarında taşıma bilgisini temizleyin; yakalamanın kaybolmasını da ele alın.

Küçük bir hareketi sürükleme sayıp tanıtım tıklamasını kaybetmeyin. Belirlediğiniz eşik aşıldığında sürüklemeye geçin; taşıma bittikten sonraki tıklamanın kendiliğinden bir bağlantı açmasını önleyin. Bu eşik cihazın ve hedefin boyutuna göre değerlendirilmelidir.

Özelliğin varlığını gerçekten kontrol edin

Bir tarayıcı nesnesinin bulunması, bütün yöntemlerinin bulunduğu anlamına gelmez. Aynı durum test ortamları ve tarayıcı uyarlamaları için de geçerlidir. Opsiyonel bir dinleyiciyi yalnızca çağrılabilir olduğunda ekleyin:

type Connection = {
  saveData?: boolean;
  addEventListener?: EventTarget["addEventListener"];
};
const connection = (
  navigator as Navigator & { connection?: Connection }
).connection;
if (typeof connection?.addEventListener === "function") {
  connection.addEventListener("change", onChange);
}

Bu örnekte onChange uygulamanın değişiklik işleyicisidir. Eklenen dinleyiciyi bileşen kapanırken kaldırın. Animasyon yöntemi yoksa aynı kontrolü ona da uygulayın ve karakterin sabit görünümünü koruyun. Testlerde yöntemi kaldırarak gezinmenin sayfayı bozmadığını doğrulayabilirsiniz.

Tanıtım balonunu ve odağı koruyun

Karakter ekranın sağında olsa bile balonun sağ kenarı ekran dışında kalmamalıdır. Balonun yerini mevcut genişlikten hesaplayın; üstte veya altta kalan boşluğa göre açılma yönünü belirleyin. Dar ekranlarda içeriğin kendi içinde kaydırılmasına izin verin.

Hover ile açılan içerik, fare balona geçerken kapanmamalıdır. Klavye odağında hareketi durdurun; Escape ile tanıtımı kapatın. Taşımak için ok tuşları, gizlemek için bir düğme ve tekrar göstermek için görünür bir kontrol sunun. Hareket, kullanıcının işini kolaylaştırdığı sürece arayüzde kalmalıdır.

Bu rehberin kaynakları

← blue'og rehberleri

bluedev Asistanı

Ürünleri ve çalışmalarımızı keşfedin.

Neyi çözmek istersiniz?

İhtiyacınızı yazın; ilgili ürünleri ve çalışmalarımızı kaynaklarıyla birlikte inceleyelim.

Yanıtlar kaynak kataloğundan hazırlanır. Yapay zekâ desteği yalnız izninizle kullanılır.

Diğer görevler ve ayarlar

İki ürünü karşılaştırabilir veya fikrinizi iletişim formuna aktarabileceğiniz bir ihtiyaç özetine dönüştürebilirsiniz.

Kaynak kataloğu

AI desteği şu anda kullanılamıyor. Doğrulanmış projeleri keşfedebilir ve proje özeti hazırlayabilirsiniz.

Bu site görüşmenizi kalıcı olarak saklamaz.Gizlilik