Mam następujący skrypt, który przesuwa pojemnik na dół, a kolejny w górę i odwrotnie w zależności od stanu zmiennych zamkniętych / obsługujących.

Skrypt działa dobrze w Firefoksie, jednak w IE i Chrome, po prostu nie działa :(

Czy ktoś może doradzić?

Wielkie dzięki! heres skryptu.

(Och Var ma wysokość kontenera, które elementy są ładowane do AJAX, więc wtedy wie, kiedy ponownie otworzyć, ile px do otwarcia - jest to najlepszy sposób?)

            $(document).ready(function()
            {
                //Grab the height of the container after its loaded with all the calls in...
                var och = $('#calls').height();
                //Are we allowed to close this panel yet?
                var enabled = false;
                //is the panel closed or not?
                var closed = false;
                $(".survey-description").click(function () {
                    if (enabled == true) {
                        if (closed == false) {
                            $(this).closest("#calls").stop().animate({"height": "44px"}, "fast");
                            closed = true;
                        }
                        else {
                            $(this).closest("#calls").stop().animate({"height": och}, "medium");
                            closed = false;
                        }
                    }
                });

                $(".linktoCall").click(function () {
                    if (closed == false) {
                        //Now we can toggle the top panel...
                        enabled = true;
                        $(this).closest("#calls").stop().animate({"height": "44px"}, "fast");
                        closed = true;
                    }
                });

            });

Edytuj tutaj jest jakiś HTML renderowanych elementów.

<div id="survey-description"></div>
<div id="calls">
    <div>
        <p onclick="showCall('tgkn5xabgnivkaf');" id="notstarted" class="linktoCall">59677 tgkn5xabgnivkaf<br>NOT STARTED - SAVED</p>
    </div>
</div>

<div id="aCall">
</div>
0
Graeme Leighfield 17 październik 2011, 12:23

3 odpowiedzi

Najlepsza odpowiedź

Patrząc na fragment HTML, myślę, że powinno być

<div class="survey-description"></div>

Ponieważ selektor $('.survey-description') odnosi się do klasy, a nie identyfikatora.

2
shendriks 17 październik 2011, 11:45

Jest to głównie szybkie odgadnięcie, ponieważ nie znam omawianej struktury HTML i nie mam czasu, aby sprawdzić resztę, ale jeśli istnieją sprzeczne identyfikatory elementów (takie jak dwa elementy z identyfikatorem "połączenia") zachowywać się inaczej. Sprawdź, czy sprawdź, czy upewnij się, że to nie problem.

(Również użyj === w porównaniu zamiast ==)

1
Erik Honn 17 październik 2011, 08:27

Może nie działać, jeśli kod HTML nie jest ważny ... i założę się, że nie zamkniesz div ani czegoś ...

Możesz sprawdzić tutaj Twoja strona: http://validator.w3.org/

Usuń również, aby przetestować wartość "px"

animate({"height": "xxpx"} ...

I niech

animate({"height": 25}...
1
Alex 17 październik 2011, 08:55