Nova stranka bez skrolovania

Programovacie jazyky, rady, poradňa...
Holubar
Darca
Darca
Používateľov profilový obrázok
Príspevky: 3894
Registrovaný: 24 feb 2005, 21:26
Bydlisko: Senec
Kontaktovať používateľa:

Nova stranka bez skrolovania

Príspevok od používateľa Holubar »

Nazov temy nie je dva krat vystizny, no chcem sa spytat na moznost riesenia specifickeho problemu. Jedna sa o to, ked ma stranka dlhsie vertikalne menu, kvoli ktoremu treba skrolovat myskou, aby uzivatel prisiel k poslednym polozkam.

Za normalnych okolnosti, ked kliknem na poslednu polozku v menu, nacita sa mi stranka, kde zase zacinam zhora a musim znova skrolovat k dolnej casti menu. Je nejak mozne spravit to, aby po nacitani "ostala obrazovka" v tej istej polohe, teda vertikalne sa stranka nijako nepohla?

Pisem jak madar, ale snad sa z toho da pochopit, co myslim. :)
audiotrack
VIP
VIP
Používateľov profilový obrázok
Príspevky: 25958
Registrovaný: 09 sep 2005, 18:39
Kontaktovať používateľa:

Re: Nova stranka bez skrolovania

Príspevok od používateľa audiotrack »

teoreticky hej, prakticky sa nič také nerobí (radšej sa treba zamyslieť nad preorganizovaním menu, napríklad spraviť ho viacúrovňové)
caesar1987
Addict
Addict
Používateľov profilový obrázok
Príspevky: 3001
Registrovaný: 02 okt 2005, 0:57
Bydlisko: Nové Zámky
Kontaktovať používateľa:

Re: Nova stranka bez skrolovania

Príspevok od používateľa caesar1987 »

co takto pouzit ajax alebo js alebo zalozky?
sharky-no
King
King
Používateľov profilový obrázok
Príspevky: 1681
Registrovaný: 31 okt 2006, 19:53

Re: Nova stranka bez skrolovania

Príspevok od používateľa sharky-no »

a nieco vtomto zmysle nepomoze?

<a href="index.php#nazov" name="nazov" >odkaz,polozka</a>
PhYs0c
King
King
Používateľov profilový obrázok
Príspevky: 1612
Registrovaný: 17 apr 2009, 21:56
Bydlisko: Nitra
Kontaktovať používateľa:

Re: Nova stranka bez skrolovania

Príspevok od používateľa PhYs0c »

a ten obsah v novej stranke sa zacina od tej polohy? lebo ak od zaciatku tak je normalne aby ta to "hodilo" na zaciatok stranky...
audiotrack
VIP
VIP
Používateľov profilový obrázok
Príspevky: 25958
Registrovaný: 09 sep 2005, 18:39
Kontaktovať používateľa:

Re: Nova stranka bez skrolovania

Príspevok od používateľa audiotrack »

na toto som myslel aj ja, ale nie je to to, čo požaduje. Ak má stránku nascrolovanú tak, že vidí stred menu (začiatok ani koniec nie), a klikne na posledný odkaz čo vidí, tak chce mať v tejto pozícii nascrolovanú aj novú stránku, lenže jemu ju zobrazí nižšie (lebo tá kotva je pri odkaze na ktorý klikol, a tak posledný odkaz čo videl bude teraz na úplnom vrchu stránky)
Holubar
Darca
Darca
Používateľov profilový obrázok
Príspevky: 3894
Registrovaný: 24 feb 2005, 21:26
Bydlisko: Senec
Kontaktovať používateľa:

Re: Nova stranka bez skrolovania

Príspevok od používateľa Holubar »

veru tak. Dobry priklad je teraz travian. Ak mam stranku posunutu trochu nizsie a nespravim nic ine len zmenim dedinu (teda uvidim tu istu stranku len pre inu dedinu) tak ma to vzdy hodi na zaciatok, co moze byt otravne.

U mna je problem to, ze na vrchu mam vysoke logo (asi 150px) a pri nizsich rozliseniach (vyska obr. 800px a menej) uz treba skrolovat k poslednym castiam menu a teda ked sa chcem len narychlo preklikat cez celu dolnu cast menu, pokazde to musim nan naskrolovat.

S tym odkazom ako pise sharky by sa to este dalo spravit tak, ze by sa stranka nacitala na zaciatok obsahu, teda by som hodil tu kotvu (ked sa to tak nazyva) na vrchne horizontalne menu a pri nacitani by stranka vzdy zacala az obsahom a logo by sa preskocilo.

Ale este to musim skusit, ci to nebude kazit dojem a robit zmatok.

Ale vdaka za tip
sharky-no
King
King
Používateľov profilový obrázok
Príspevky: 1681
Registrovaný: 31 okt 2006, 19:53

Re: Nova stranka bez skrolovania

Príspevok od používateľa sharky-no »

a inak ako hovoril aj caesar1987 este javascript ti dokaze zistit ze ako mas scrollnutu stranku, myslim ze to je window.pageYOffset, mozno sa ti aj toto zide...
audiotrack
VIP
VIP
Používateľov profilový obrázok
Príspevky: 25958
Registrovaný: 09 sep 2005, 18:39
Kontaktovať používateľa:

Re: Nova stranka bez skrolovania

Príspevok od používateľa audiotrack »

sharky-no zas tak jednoduché to nie je, ale dnes som sa dobre vyspal tak som si našiel čas a chuť :)

Kód: Vybrať všetko

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Untitled Document</title>
<script>
function sc(set){
	set = (typeof set == "undefined") ? false : true;
	if(set){
		var top = getCookie("scroll");
		window.scrollBy(0,top);
		setCookie("scroll",0);
		return;
	} else {
		var ScrollTop = document.body.scrollTop;
		if (ScrollTop == 0){
			if (window.pageYOffset)
				ScrollTop = window.pageYOffset;
			else
				ScrollTop = (document.body.parentElement) ? document.body.parentElement.scrollTop : 0;
		}
		setCookie("scroll",ScrollTop);
	}
}

function setCookie(name, value){
	var today = new Date();
	today.setTime( today.getTime() );
	var expires = 1000 * 60 * 10;
	var expires_date = new Date( today.getTime() + (expires) );
	document.cookie = name + "=" +escape( value ) + ";expires=" + expires_date.toGMTString();
}

function getCookie(check_name) {
	var a_all_cookies = document.cookie.split( ';' );
	var a_temp_cookie = '';
	var cookie_name = '';
	var cookie_value = '';
	var b_cookie_found = false; 
	for ( i = 0; i < a_all_cookies.length; i++ ){
		a_temp_cookie = a_all_cookies[i].split( '=' );
		cookie_name = a_temp_cookie[0].replace(/^\s+|\s+$/g, '');
		if ( cookie_name == check_name ){
			b_cookie_found = true;
			if ( a_temp_cookie.length > 1 ){
				cookie_value = unescape( a_temp_cookie[1].replace(/^\s+|\s+$/g, '') );
			}
			return cookie_value;
			break;
		}
		a_temp_cookie = null;
		cookie_name = '';
	}
	if ( !b_cookie_found ){
		return null;
	}
}

function addLoadEvent(func) {
  var oldonload = window.onload;
  if (typeof window.onload != 'function') {
    window.onload = func;
  } else {
    window.onload = function() {
      if (oldonload) {
        oldonload();
      }
      func();
    }
  }
}

addLoadEvent(function() {
  sc(true);
  var links = document.getElementsByName('menulink');
  for(var i = 0; i < links.length; i++){
  	links[i].onclick = function(){ sc(); }
  }
});


</script>
</head>

<body>

<table>
	<tr>
		<td>
			<script>for(var i=1; i<=500; i++) document.write('<a href="test.html" target="_blank" name="menulink">link</a><br/>')</script>
			
		</td>
		<td><script>for(var i=1; i<=500; i++) document.write( i + "<br>");</script></td>
	</tr>
</table>
</body>
</html>
tie javascripty v tabuľke sú iba na vygenerovanie linkov a čísel, aby bolo vidno že to funguje tak ako chceš. Všetko čo treba spraviť je dať na svojú stránku do hlavičky ten javascript čo mám v hlavičke, a linkom ktoré takto majú fungovať dáš name='menulink'.
Prílohy
test.rar
(1.11 KiB) 12 stiahnutí
caesar1987
Addict
Addict
Používateľov profilový obrázok
Príspevky: 3001
Registrovaný: 02 okt 2005, 0:57
Bydlisko: Nové Zámky
Kontaktovať používateľa:

Re: Nova stranka bez skrolovania

Príspevok od používateľa caesar1987 »

a alternativa bez cookies a s jquery je napriklad tato stranka

http://www.elektrickaenergia.sk/
forfun
Light Expert
Light Expert
Príspevky: 77
Registrovaný: 03 jan 2010, 17:26

Re: Nova stranka bez skrolovania

Príspevok od používateľa forfun »

Mozno tomu nie uplne spravne chapem ale nebolo by to najjednoduchsie spravit sposobom:

v Menu bude odkaz napr

Kód: Vybrať všetko

<a href="stranka.php#nieco">Nieco</a>
a na stranke potom napr. nadpis

Kód: Vybrať všetko

<h3 id="nieco">Nieco dobre</h3>
Funguje to tak ze odkaz ta preklikne na danu stranku a ten dodatok #nieco urcuje kam ta posunie, v tomto priklade to nascrolluje na <h3>
caesar1987
Addict
Addict
Používateľov profilový obrázok
Príspevky: 3001
Registrovaný: 02 okt 2005, 0:57
Bydlisko: Nové Zámky
Kontaktovať používateľa:

Re: Nova stranka bez skrolovania

Príspevok od používateľa caesar1987 »

takto sa nikdy nedostanes na presne miesto na stranke ako si bol pri kliknuti na odkaz a presne to autor tejto temy chce.
audiotrack
VIP
VIP
Používateľov profilový obrázok
Príspevky: 25958
Registrovaný: 09 sep 2005, 18:39
Kontaktovať používateľa:

Re: Nova stranka bez skrolovania

Príspevok od používateľa audiotrack »

nie nebolo. Odhliadnúc od faktu, že takto ako si to napísal to vôbec nebude fungovať som popisoval prečo to nie je dobre o pár príspevkov vyššie
Napísať odpoveď