Problem z rozwijalnym div'em

Problem z rozwijalnym div'em
0

Hej
Testuję skrypt, który działa bez problemu na jsfiddle - ten

Po wrzuceniu go na stronę pokazują się problemy:

  1. Mam dwa divy, pierwszy się ukrywa, natomiast drugi już nie chce
  2. Przycisk generowany z automatu, tj. "czytaj więcej" nie wykonuje akcji

Dodatkowo podczas wczytywania strony wywala błąd
title

Link do jQuery dodany standardowo w head. Skrypt próbowałem wrzucić zarówno w head jak i w body - bez skutku.
Możliwe, że silnik strony sam z siebie ogranicza jquery? Z tego co się orientuję jest to jakiś starszy Zed framework.

axelbest
  • Rejestracja:ponad 17 lat
  • Ostatnio:18 minut
  • Lokalizacja:Warszawa
  • Postów:2251
0

Może na stronie której używasz jest już podpięta biblioteka jquery i robi się konflikt. Ew. może jakaś zmienna wykorzystuje domyślny prefix z jQuery - poczytaj o jQuery noConflict

K8
  • Rejestracja:ponad 14 lat
  • Ostatnio:prawie 4 lata
0

Na razie pokazujesz jakiś kod, który działa i pytasz czemu nie działa kod którego nie pokazujesz :)

0

Na stronie jest tylko jedna biblioteka jQuery.
Strona o której mowa to: tutaj

Co do konfliktu, myślicie że byłby z GA?

axelbest
  • Rejestracja:ponad 17 lat
  • Ostatnio:18 minut
  • Lokalizacja:Warszawa
  • Postów:2251
2

Na fiddl'u używasz jQuery w wersji 1.7.1 - na produkcji masz 3.1.1 Funkcja live z tego co wiem jest deprecated od jakiegoś czasu, tak więc to ona Ci to pewnie wykrzacza. Po zmianie funkcji live na on rozwijanie działa, zwijanie nie, tak więc problem gdzieś indziej tkwi (chociaż to jest już zupełnie inny problem). Na podanej przez Ciebie stronie konsola jasno pokazuje dlaczego nie działa. Korzystasz z konsoli w ogóle?

edytowany 2x, ostatnio: axelbest
LukeJL
Funkcja live, która jest już wieczna xD To chyba największy błąd twórców jQuery, że nie zostawili aliasu do funkcji live, ponieważ mnóstwo początkujących jeszcze się na to łapie (co prawda winę ponoszą za to sami początkujący, że zamiast patrzeć w aktualną dokumentację, szukają jakichś starych skryptów sprzed ery lodowcowej... ale cóż).
LukeJL
w każdym razie z tego co pamiętam, to od kilka lat live jest już deprecated.
R3
  • Rejestracja:ponad 11 lat
  • Ostatnio:4 dni
  • Postów:419
0

https://jsfiddle.net/S3Rfu/20/ działa, ponieważ korzysta z jQuery 1.7.1, zmień wersję na 3.1.1 (używasz jej na stronie carlstahl) i sprawdź czy działa.

http://api.jquery.com/live/ (version deprecated: 1.7, removed: 1.9)

Twój kod

Kopiuj
$(".opis").find(".readmore").live.....

jest niezgodny z wersją jQuery, którą używasz.

axelbest
To samo napisałem wyżej :D
0

Dzięki za naprowadzenie.
Teraz muszę obadać czemu nie chce się zwijać. Coś jest nie tak z określaniem długości pola (na live w konsoli dodaje tylko overflow, a wysokość się nie zmienia. Ale do tego sam jakoś dojdę.

Z konsoli korzystam, ale w jquery dawno nie robiłem niczego i zbytnio nie wiedziałem dlaczego live się wysypuje.

axelbest
  • Rejestracja:ponad 17 lat
  • Ostatnio:18 minut
  • Lokalizacja:Warszawa
  • Postów:2251
0

Moja rada - nie twórz tak dynamicznie elementów, szkoda zachodu. Zrób w każdym na dzień dobry element z określoną klasą, a potem tylko steruj tym co ma w nim się wyświetlać i jak ma się zachowywać sąsiedni div (zwinięty, rozwinięty).

czysteskarpety
czysteskarpety
  • Rejestracja:prawie 10 lat
  • Ostatnio:ponad 4 lata
  • Lokalizacja:Piwnica
  • Postów:7697
1

fajna stronka, szkoda, że bez rwd


0

Wiedza dla potomnych. Aby się rozwijało trzeba zmienić troszkę strukturę. Wynika ona ze zmiany z live na on :)

Kopiuj
 
 $(function(){
    $('.opis').each(function(){
        $(this).append('<div class="readmore">czytaj więcej...</div>');
        var textelement = $(this).find('.text');
        var wys = textelement.height();
        textelement.css('height', '80px');
        $(this).on('click','.readmore', function(){
            textelement.animate({height: wys}, 1000);
            $(this).attr('class', 'readless');
            $(this).text('czytaj mniej...');
        });
        $(this).on('click','.readless', function(){
            textelement.animate({height: '80px'}, 1000);
            $(this).attr('class', 'readmore');
            $(this).text('czytaj więcej...');
        });
    });
});


Nad RWD pracujemy. Największym problemem z RWD jest multum tabel z parametrami produktów, które nie wiem jak ogarnąć aby były czytelne na komórce.

axelbest
  • Rejestracja:ponad 17 lat
  • Ostatnio:18 minut
  • Lokalizacja:Warszawa
  • Postów:2251
0

Wg mnie powyższe rozwiązanie mimo że działa nie jest optymalne. Przy 100 divach z klasą opis będzie przypinał 200 eventów. Tutaj masz lepszy przykład
http://viralpatel.net/blogs/dynamically-shortened-text-show-more-link-jquery/ W pętli masz tylko ucinanie tekstu

LI
Dzięki za podesłanie kodu, dla obecnego stanu rzeczy logina n*2 nie jest tragiczna. Ale na przyszłość się przyda, asem w JS nie jestem :)
czysteskarpety
czysteskarpety
  • Rejestracja:prawie 10 lat
  • Ostatnio:ponad 4 lata
  • Lokalizacja:Piwnica
  • Postów:7697
0

tabele można zrobić przewijane poziomo, a robienie rwd dopiero po całym projekcie mocno dyskusyjne, no ale jak kto lubi


0

Stronę pod siebie dostałem jakiś rok temu. Samo wdrożenie było z tego co ustaliłem w 2010 lub 2011 roku i wtedy nie mieli świadomości / nie chało im się / cokolwiek ;) Więc teraz trzeba nadrobić nad niektórymi niedoróbkami.

Kliknij, aby dodać treść...

Pomoc 1.18.8

Typografia

Edytor obsługuje składnie Markdown, w której pojedynczy akcent *kursywa* oraz _kursywa_ to pochylenie. Z kolei podwójny akcent **pogrubienie** oraz __pogrubienie__ to pogrubienie. Dodanie znaczników ~~strike~~ to przekreślenie.

Możesz dodać formatowanie komendami , , oraz .

Ponieważ dekoracja podkreślenia jest przeznaczona na linki, markdown nie zawiera specjalnej składni dla podkreślenia. Dlatego by dodać podkreślenie, użyj <u>underline</u>.

Komendy formatujące reagują na skróty klawiszowe: Ctrl+B, Ctrl+I, Ctrl+U oraz Ctrl+S.

Linki

By dodać link w edytorze użyj komendy lub użyj składni [title](link). URL umieszczony w linku lub nawet URL umieszczony bezpośrednio w tekście będzie aktywny i klikalny.

Jeżeli chcesz, możesz samodzielnie dodać link: <a href="link">title</a>.

Wewnętrzne odnośniki

Możesz umieścić odnośnik do wewnętrznej podstrony, używając następującej składni: [[Delphi/Kompendium]] lub [[Delphi/Kompendium|kliknij, aby przejść do kompendium]]. Odnośniki mogą prowadzić do Forum 4programmers.net lub np. do Kompendium.

Wspomnienia użytkowników

By wspomnieć użytkownika forum, wpisz w formularzu znak @. Zobaczysz okienko samouzupełniające nazwy użytkowników. Samouzupełnienie dobierze odpowiedni format wspomnienia, zależnie od tego czy w nazwie użytkownika znajduje się spacja.

Znaczniki HTML

Dozwolone jest używanie niektórych znaczników HTML: <a>, <b>, <i>, <kbd>, <del>, <strong>, <dfn>, <pre>, <blockquote>, <hr/>, <sub>, <sup> oraz <img/>.

Skróty klawiszowe

Dodaj kombinację klawiszy komendą notacji klawiszy lub skrótem klawiszowym Alt+K.

Reprezentuj kombinacje klawiszowe używając taga <kbd>. Oddziel od siebie klawisze znakiem plus, np <kbd>Alt+Tab</kbd>.

Indeks górny oraz dolny

Przykład: wpisując H<sub>2</sub>O i m<sup>2</sup> otrzymasz: H2O i m2.

Składnia Tex

By precyzyjnie wyrazić działanie matematyczne, użyj składni Tex.

<tex>arcctg(x) = argtan(\frac{1}{x}) = arcsin(\frac{1}{\sqrt{1+x^2}})</tex>

Kod źródłowy

Krótkie fragmenty kodu

Wszelkie jednolinijkowe instrukcje języka programowania powinny być zawarte pomiędzy obróconymi apostrofami: `kod instrukcji` lub ``console.log(`string`);``.

Kod wielolinijkowy

Dodaj fragment kodu komendą . Fragmenty kodu zajmujące całą lub więcej linijek powinny być umieszczone w wielolinijkowym fragmencie kodu. Znaczniki ``` lub ~~~ umożliwiają kolorowanie różnych języków programowania. Możemy nadać nazwę języka programowania używając auto-uzupełnienia, kod został pokolorowany używając konkretnych ustawień kolorowania składni:

```javascript
document.write('Hello World');
```

Możesz zaznaczyć również już wklejony kod w edytorze, i użyć komendy  by zamienić go w kod. Użyj kombinacji Ctrl+`, by dodać fragment kodu bez oznaczników języka.

Tabelki

Dodaj przykładową tabelkę używając komendy . Przykładowa tabelka składa się z dwóch kolumn, nagłówka i jednego wiersza.

Wygeneruj tabelkę na podstawie szablonu. Oddziel komórki separatorem ; lub |, a następnie zaznacz szablonu.

nazwisko;dziedzina;odkrycie
Pitagoras;mathematics;Pythagorean Theorem
Albert Einstein;physics;General Relativity
Marie Curie, Pierre Curie;chemistry;Radium, Polonium

Użyj komendy by zamienić zaznaczony szablon na tabelkę Markdown.

Lista uporządkowana i nieuporządkowana

Możliwe jest tworzenie listy numerowanych oraz wypunktowanych. Wystarczy, że pierwszym znakiem linii będzie * lub - dla listy nieuporządkowanej oraz 1. dla listy uporządkowanej.

Użyj komendy by dodać listę uporządkowaną.

1. Lista numerowana
2. Lista numerowana

Użyj komendy by dodać listę nieuporządkowaną.

* Lista wypunktowana
* Lista wypunktowana
** Lista wypunktowana (drugi poziom)

Składnia Markdown

Edytor obsługuje składnię Markdown, która składa się ze znaków specjalnych. Dostępne komendy, jak formatowanie , dodanie tabelki lub fragmentu kodu są w pewnym sensie świadome otaczającej jej składni, i postarają się unikać uszkodzenia jej.

Dla przykładu, używając tylko dostępnych komend, nie możemy dodać formatowania pogrubienia do kodu wielolinijkowego, albo dodać listy do tabelki - mogłoby to doprowadzić do uszkodzenia składni.

W pewnych odosobnionych przypadkach brak nowej linii przed elementami markdown również mógłby uszkodzić składnie, dlatego edytor dodaje brakujące nowe linie. Dla przykładu, dodanie formatowania pochylenia zaraz po tabelce, mogłoby zostać błędne zinterpretowane, więc edytor doda oddzielającą nową linię pomiędzy tabelką, a pochyleniem.

Skróty klawiszowe

Skróty formatujące, kiedy w edytorze znajduje się pojedynczy kursor, wstawiają sformatowany tekst przykładowy. Jeśli w edytorze znajduje się zaznaczenie (słowo, linijka, paragraf), wtedy zaznaczenie zostaje sformatowane.

  • Ctrl+B - dodaj pogrubienie lub pogrub zaznaczenie
  • Ctrl+I - dodaj pochylenie lub pochyl zaznaczenie
  • Ctrl+U - dodaj podkreślenie lub podkreśl zaznaczenie
  • Ctrl+S - dodaj przekreślenie lub przekreśl zaznaczenie

Notacja Klawiszy

  • Alt+K - dodaj notację klawiszy

Fragment kodu bez oznacznika

  • Alt+C - dodaj pusty fragment kodu

Skróty operujące na kodzie i linijkach:

  • Alt+L - zaznaczenie całej linii
  • Alt+, Alt+ - przeniesienie linijki w której znajduje się kursor w górę/dół.
  • Tab/⌘+] - dodaj wcięcie (wcięcie w prawo)
  • Shit+Tab/⌘+[ - usunięcie wcięcia (wycięcie w lewo)

Dodawanie postów:

  • Ctrl+Enter - dodaj post
  • ⌘+Enter - dodaj post (MacOS)