Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 168 Pomógł: 26 Dołączył: 15.09.2011 Skąd: Wrocław Ostrzeżenie: (0%)
|
Witam,
Dziś zwracam się do was z ogromną prośbą o pomoc przy skrypcie który nie działa jak powinien (IMG:style_emoticons/default/smile.gif) Opisuję problem: Koduję stronę metodą responsywną (zmienia się wygląd strony zależnie od szerokości ekranu, więc na różnych urządzeniach mobilnych strona wygląda inaczej) i napotkałem następujący problem: Mam skrypt, który ma mi zwijać/rozwijać DIV (coś jak opis filmików na YouTube). Początkowo DIV jest zwinięty, ale po kliknięciu w button ma się rozwinąć lub zwinąć. I to jest dość proste, ale problem mam przy zmianie układu urządzenia mobilnego. Przykładowo: Odpalam stronę na tablecie w pozycji poziomej, DIV się ładnie zwija i rozwija, ale jak przekręcę tablet do pionu, to tekst się zwęża, więc jest go "więcej linijek" a zatem i DIV powinien być "wyższy". Niestety skrypt pokazuje mi po rozwinięciu tylko tyle DIVa ile było potrzebne aby pokazać całość na pozycji poziomej (czyli rozwija do zczytanej wartości przy załadowaniu strony) więc DIV jest za krótki i ucina tekst. Sytuacja odwrotna - odpalam stronę na tablecie w pozycji pionowej, obracam do poziomej i DIV nagle staje się za "wysoki" przez co poniżej tekstu jest jeszcze kawałek pustej przestrzeni. Prośba: Bardzo proszę o pomoc w zmodyfikowaniu poniższego mojego kodu, aby działał on zgodnie z moimi wymaganiami (IMG:style_emoticons/default/smile.gif) Chodzi o to by przy zmianie szerokości okna przeglądarki, zmieniała się wartość zmiennej, która przetrzymuje wysokość całego DIVa. Kod // ROZWIŃ / ZWIŃ
var slideHeight = 35; //wysokość rozwiniętego DIVa var defHeight = $('div.descryption').height(); // wysokość całego DIVa var more = document.getElementById('more'); // wykrycie buttona do rozwijania/zwijania if (defHeight >= slideHeight) { $('div.descryption').css('height' , slideHeight + 'px'); more.innerHTML = 'więcej'; $('a#more').click(function() { var curHeight = $('div.descryption').height(); if(curHeight == slideHeight) { $('div.descryption').animate( { height: defHeight }, 'normal'); more.innerHTML = 'mniej'; } else { $('div.descryption').animate( { height: slideHeight }, 'normal'); more.innerHTML = 'więcej'; } return false; }); } |
|
|
|
piotrex41 Zmiana wartości po zmianie szerokości strony 15.10.2012, 19:06:42
lukasz1985 http://jsfiddle.net/udSkM/1/ 15.10.2012, 21:19:53
piotrex41 Po lekkich modyfikacjach działa idealnie. Ogromne ... 16.10.2012, 08:01:37 ![]() ![]() |
|
Aktualny czas: 21.12.2025 - 08:48 |