Boşluklarımı yeniden boyutlandırmak için yeniden boyutlandırılabilir jQuery'yi kullanmaya çalışıyorum, stop
olayından sonra jQuery UI, %
değerinimi pixel
değerine geri döndürmesi dışında oldukça iyi çalışmam gerekiyor.jQuery yeniden boyutlandırmayı yüzde olarak kullanmak için nasıl zorlanır?
Ben ettik burada çalışan bir keman: İlk kez current
konteyner sürüklediğinizde http://jsfiddle.net/totszwai/j60h38fy/5/
, doğru bütün değerini hesaplamak, ama stop
olaydan sonra, jQuery UI ve% değişim güncellerdi piksele geri dönersiniz ... bir dahaki sefere tekrar sürüklediğinizde,% kaybedilir.
jQuery öğesini genişlik değerini% olarak ayarlamak için nasıl zorlarsınız? Teknik olarak setTimeout gibi bir şey kullanabilirdim, ama bu çok çirkin olurdu.
Ayrıca, piksellerdeki divleri işlemek için bir çözüm istemiyorum çünkü teknik olarak n-div'ları kurulumuma ekleyebilirim ve bu kodun% n'ad'lerle çalışması gerekir.
Benim neighbor
div'uma bakarsanız,% orada tutulur, yalnızca current
üzerine yazılmıştır. Ayrıca ui.size.width
'u% 0'a ayarlamanın yanı sıra ui.element
ile oynamayı da denedim, ancak bunların hiçbiri de işe yaramıyor.
Güncelleme: Bir geçici çözüm bu hala nerede stop
döner hatalı piksel değeri sorunu çözmüyor Ancak stop
etkinliğinde veri her şey saklamak ve asla start
de tekrar kontrol etmektir. Güncelleştirilmiş jsFiddle: http://jsfiddle.net/totszwai/j60h38fy/6/
Yalnızca jQuery yeniden boyutlandırılabilir% değerini alırsam, her şey beklendiği gibi çalışır.
Çözüm: apaul34208
yanıtını kabul ettim, çünkü% nasıl kullanılacağını sordum. Ancak, asıl olarak çözmek istediklerimi çözmek için yerine piksel kullanıyorum. Cevabın size yardımcı olması durumunda, below gönderdiğim cevabı görün, lütfen bunun yerine bunu belirtin.
bu bir apaul değil daha iyidir, ama
Konteyner bir tablo olmak zorunda değildir, bu yüzden bu div'lerle çalışacaktır. Tablo verilerini görüntülemek için
Teşekkürler, iyi bir çözüm! Vardiya sürükleme testini (en boy oranı ölçeklendirme için) başarısız olur, ancak '.resizable()' kullanan tüm diğer cevapları da yapın (vardiya tutarken yeniden boyutlandırırken yükseklik değiştiği için). Ancak, bunu düzeltmek kolaydır. 'resizable' ve 'stop' olaylarında: '$ (this) .css ('height', '')'. Kemanı unuttum ve burada birkaç düzeltme ve iyileştirme ekledim: http: // jsfiddle.net/8auwgazu/ – nothingisnecessary
Hayaleti kaldırmak ve animasyon ve css bir bit oynamak vardı
display: flex;
beklenmedik sonuçlar neden gibiydi, ama ben basit bir çözüm üzerinde tökezledi olabileceğini düşünüyorum:Working Example
kaynak
2014-12-02 01:55:10 apaul
Bir başka sabah için çekiçledikten sonra, sonunda mükemmel çözümü buldum. Aslında düşündüğümden çok daha basit, sadece karmaşık şeyleri karıştırıyordum.
ui.helper
dinamik boyutunu elde etmeye çalışıyordum vestop
adresindeki komşu öğesini işlemeye çalıştım. Ama ya gerçekten çok dikkatlithis
elementin genişliği ve yakın komşu elementin genişliği ... yani ben aşağıdakileri yaparak sona:Bu çözüm yan yana oturan n + 1 DIV öğeleri için çalışır. Genişliği yüksekliğe çevirirseniz, dikey olarak yığılmış DIV'lerle de çalışır.:)
Şerefe!
Working jsFiddle
Not: hayalet ve jQuery-UI seçeneğinden animasyon hala eskisi gibi garip sorunu veriyor. Bu jQuery 2.0.2 ve jQuery-UI 1.10.3'tür, umarım kısa zamanda yama yaparlar.
kaynak
2014-12-02 15:53:47 codenamezero
Sana% ile çalışan boyutlandırılabilir unsurları almaya çalışırken sanıyordum: Benim durumumda Tamamen yüzden "width" değişim dışarı yorumladı genişliğini görmezden boyutlandırmak gerekli? Yanıtınız hem Firefox'ta hem de Chrome'da px cinsinden genişliklere dönecek gibi görünüyor. – apaul
Hum ... evet haklısın. Aslen DIV'leri doğru şekilde ayarlamak için bir yol bulamadığım için% ile çalışmak istedim. N + 1 DIV ile çalışmayı değiştirebilirseniz, cevabınızı kabul edebilir miyim? – codenamezero
Daha sonra bugün bir başka çatlak daha alacağım – apaul
Sıklıkla güncellenen bir kitaplığı özelleştirmenizi gerektirdiğinden yanıtımın "iyi bir uygulama" olmadığını biliyorum, ancak sorunumu çözdü: "Yeniden boyutlandırma" işlevini jquery-ui içinde değiştirin. .js dosyası istediğiniz gibi genişletmek için. Soruyu yanlış yaptım,
kaynak
2016-08-08 22:06:25 gus
Evet, işe yarayacaktı, fakat size, 3. parti kütüphanelerini hacklemenin, geleceği korumak ve yükseltmek için popodaki bir acı olduğunu deneyimlerimden anlatacağım. Aynı zamanda, diğer gevşek bir şekilde ilgili kodları etkileyen, burayı takip etme ve yama/düzeltme/hacklemek için bir kâbus haline getiren belirsiz hataları da tanıtabilirsiniz. – codenamezero
İlgili konular