2013-05-17 12 views
6

Mam nietypowy problem z witryną, którą utworzyłem dla znajomego.
Ładowanie kodu HTML do div - nietypowy numer

Utworzyłem plik index.html z łączami w lewym pasku bocznym, aby pozostawać stały. Po kliknięciu łącza zewnętrzny plik HTML jest wywoływany wewnątrz głównego elementu div na środku strony.

Działa to cudownie, ale z jednym małym problemem (co w rzeczywistości jest irytującym problemem)!

Po kliknięciu pierwszego linku, na przykład "produkty", można przewijać od lewej strony do końca w prawo, aż do ostatniego obrazu. Jeśli klikniesz "moda", zostanie wywołany inny plik HTML, ale wywoływany będzie on na etapie, na którym przerwałeś od "produktów", tj. Do samego końca, a nie na początku.

Zasadniczo muszę wymusić na HTML wywołanie strony na początku za każdym razem, gdy kliknę link. Oto mój link do strony internetowej, aby zobaczyć, co mówię ...

http://www.hannahdakin.co.uk/betasite

PS: Nie mogę znaleźć nikogo z podobnym problemem po obejrzeniu forów, ale może być termin na ten problem, którego nie znam.

Byłbym wiecznie wdzięczny, gdyby ktoś mógł pomóc!

+0

http://demos.flesler.com/jquery/scrollTo/ –

+2

Witamy w przepełnieniu stosu. Spróbuj pokazać odpowiedni kod bezpośrednio w swoim pytaniu. (Jeśli masz zamiar podać adres URL zewnętrznej strony, przynajmniej niech będzie klikalny ...) – nnnnnn

+1

Witamy w stackoverflow! [Proszę zamieścić rzeczywisty kod na konkretny problem, a nie link do strony.] (Http://meta.stackexchange.com/q/125997) Polecam również przeczytanie [FAQ] (http: //meta.stackexchange .com/questions/7931/faq-for-stack-exchange-sites), aby pomóc Ci uzyskać odpowiedź tak szybko, jak to możliwe. –

Odpowiedz

2

Będziesz musiał zastosować komendę jQuery .scrollLeft(0) do treści strony, aby zresetować pozycję poziomą przy każdym kliknięciu. Na przykład:

$('#products').click(function(){ 
    $('.slider').load("allimages.html #products2"); 
    $('body').scrollLeft(0); 
}); 

Należy to zrobić na stronie, ponieważ paski przewijania są zakotwiczone na całej stronie, a nie na kontenerze.

Będziesz musiał skopiować to dla każdego zdarzenia związanego z kliknięciem menu.

+0

Dzięki, to też zadziałało! – user2393778

3

Możesz użyć .scrollLeft(0), aby zresetować pozycję przewijania w poziomie w <div>.

+0

Ach, przepraszam, że nie wprowadziłem rzeczywistego kodu, na pewno zrobię to w przyszłości. Naprawdę zdałem sobie sprawę, że problem leży w dokumencie html. Miałem wszystkie moje id div w jednym pliku html (dla ułatwienia), ale kiedy zrobiłem oddzielne html są one wszystkie załadowane na początku ... Spróbuję tego scrollLeft (0), jednak teraz! – user2393778

+0

idealne, dzięki! – user2393778

Powiązane problemy