Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Zmiana wartości po zmianie szerokości strony
piotrex41
post
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;
        });
    }
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 21.12.2025 - 08:48