Das Scrollen des äußeren Divs kann nicht beendet werden, wenn das Ende des inneren Div erreicht wurde

9

Anwendungsfall: - Wenn der Benutzer ein inneres div scrollt, sollte er das äußere div nicht scrollen, sobald das innere div end erreicht hat.

Der folgende Code funktioniert einwandfrei, wenn das innere div bereits das Ende erreicht hat. d. h. das touchstart / touchmove-Ereignis wird ausgelöst, nachdem das innere div das Ende erreicht hat.

Aber für den Fall, dass ich die Berührung nicht anhebe und weiter scrolle und das Ende des inneren divs in diesem Prozess erreicht hat, beginnt es mit dem Scrollen des äußeren div.

%Vor%

Wie höre ich auf zu scrollen, sobald das Ende des inneren Div erreicht ist? Ich versuche dies in einem Browser auf Android-Gerät zu erreichen. Kann mir jemand diesbezüglich helfen?

HINWEIS: Der Benutzer sollte sogar in der Lage sein, das äußere Teil zu scrollen.

Vielen Dank im Voraus.

    
Sashwat 21.08.2013, 17:02
quelle

2 Antworten

0

Wenn Sie JQuery verwenden, würde ich etwas verwenden, das scrollTop () verwendet, um zu überprüfen, ob der Benutzer das Ende des scrollbaren div erreicht hat, und wenn ja, vielleicht ein Ereignis auslöst, das das Scrollen aufhört? Oder etwas, das Sie tun möchten.

Etwas in der Art von:

%Vor%     
Andrew Ice 27.08.2013 22:18
quelle
0

Ich fürchte, ich habe keine Zeit, den expliziten Code zu schreiben, um das Problem zu lösen, aber ich habe eine konzeptionelle Lösung für Sie, die Ihnen noch helfen könnte.

  1. Umhüllen Sie jedes überlauf: scroll-Element mit einem Wrapper mit position: relative .
  2. Bei Berührung Start, für jeden Vorfahren mit overflow: scroll , overflow: visible , position: absolute , berechnete Höhe & amp; width und wende diese als Inline-Styles an und setze top als Negativ von scrollTop - und setze% covere% des Wrappers auf overflow : Das bedeutet, dass es sich an der gleichen Stelle befindet, an der es war, aber nicht durchwandern kann Scrollen.
  3. Am Touch-Ende entfernen Sie die Stile, die Sie in Schritt 2 angewendet haben.

Ich kann bereits Vorbehalte sehen:

  1. Wenn Sie die relative oder absolute Positionierung für das Layout in Ihren overflow: scroll-Elementen verwenden (und sie haben keine relative oder absolute Positionierung), wird dies mit Ihrem Layout verschraubt.
  2. Wenn scrollende Elemente nach DOM-ready umgebrochen werden, müssen Sie einen Wrapper für jeden anwenden.

... aber es ist definitiv machbar ...

    
Barney 02.09.2013 16:56
quelle

Tags und Links