ugrás a tartalomhoz

Görgetősáv gondok

AdrianWeb · 2008. Feb. 15. (P), 12.01
Sziasztok!
Nagy problémám van, ami a következő:
Készítettem egy olyan Joomla alapú weboldalt, amibe fix méretű divek vannak. A scrollozás javascripttel lett megoldva, hogy képre cserélhessem a scrolbart. Ez teljesen jól működik tartalmi elemeknél, azonban ha dinamikus elemeket jelenít meg az oldal (mambot, komponens), akkor a görgetés megszünik létezni. Azt gyanítom a javascript miatt van, de biztos nem vagyok ebben.
Az oldal és a probléma ITT tekinthető meg.
A segítő választ köszönöm előrre is!
 
1

js ütközés

rrd · 2008. Feb. 16. (Szo), 10.30
Először próbáld betölteni az oldalt, úgy hogy a 3 js közül mindig csak kettőt töltesz be. Így kiderülhet, hogy ha tényleg js ütközés van akkor melyik kettő akad össze. Valószínűleg az okozza a dolgot, hogy a globális térben ugyanaz a változó vagy függvénynév le van definiálva két különböző js-ben, és ezek összeakadnak. Egyébként érdekes, mert a Firebug nem dob rá hibát. Ha megvan feltétlenül írd meg! :)
2

sajna

AdrianWeb · 2008. Feb. 16. (Szo), 14.30
Köszi, de ez nem fog menni sajna. Az oldalban 1 js van, a div.js, ami a scrollbart intézi. A másik kettőt a képkezelő mambot rakja be, amit ha letiltok, akkor persze ismét jó lesz minden, csak a képek nem működnek.
Mivel ez más Joomla komponens használatánál is előfordul tanácstalan vagyok, mivel ezekre a megoldásrokra van szükségem au oldal használatánál.
3

az első nyom

rrd · 2008. Feb. 17. (V), 18.45
A következőt tettem: Firebug beindít, két tab megnyit, egyikbe a főoldal (ahol nem működik), másikba pl a blog (ahol viszont igen). Aztán megnéztem a Firebug html tabon, hogy miben különbözik a két oldal szerkezete. A content id-jű div beltartalmán kívül semmi említésre méltó. Eleve a js volt neked a gyanús, így fogtam a Firebuggal, és a főoldalon a content-ben lévő táblázat első soránál rákattintottam az edit gombra. Kimásoltam az egésszet és a Firebug / html /edit hármassal átmásoltam a Blog oldalra ugyanide. Scrollozás megszűnik. Kitöröltem a mootools belinkelését scroll működik. Ugyanezt a slimboxxal, az nem változtatott semmit. Tehát a bűnös a mootools. Hogy miért azt nem egyszerű megállapítani, mert a mootools js fileod tömörítve van.

Mindenesetre érdemes lenne összehasonlítani a tömörítetlen mootoolst a div.js-sel és megtalálni, hogy mi az a változó / függvénynév amiben ütköznek. Ha az egyszerűbbnek látszik akkor meg a div.js elején lévő kódot namespacelni kell, ami garantálja, hhogy ne ütközzenek.
4

nul értéke null

AdrianWeb · 2008. Feb. 20. (Sze), 12.02
Köszönöm a segítséget, igazán rendes vagy! :)
Moootools-zal már volt gondom korábban is. Sajna a javascripthez nem értek, csak használni szeretném a már kész kódot. Így az ütközést kideríteni nem lenne egyszerű, a namespacelés sem mond nekem semmi :(
Most úgy döntöttem, hogy lecserélem az egész slimboxos, mootools-os megoldást egy galériakomponensre. ezzel már nincs ütközés, mindenhol tudok görgetni.

Viszont a div.js-sel továbbra is gondok vannak. Az oldal betöltésekor az IE "'nul' értéke null, vagy nem objektum" hibát ír ki a 29. sor 2 karakterére, ami ez:
	el.getTop = function(){return parseInt(el.css.top) || 0};

Esetleg erre valami tanácsot tudsz adni?
5

IE

rrd · 2008. Feb. 20. (Sze), 15.54
IE6 és IE7 ugyanazt mondja? Sajna nekem nem sok jó tapasztalatom volt az IE hibaüzenetekkel, mert sokszor olyan helyre jelzett hibát ami nem is létezett. De ha tényleg ott van, akkor valószínűleg az a baja, hogy az el nem objektum szerinte. Más kérdés, hogy ha működik, akkor mennyi energiát teszel bele, hogy kiderítsd, hogy mire panaszkodik.
6

el

AdrianWeb · 2008. Feb. 20. (Sze), 16.01
Igen, igen.
A firebug is ugyanezt közli, csak kultúráltabb formában.
el has no properties
http://www.alomszalon.com/templates/alomszalon/div.js
Line 28
Az egész site jól működik már, sajna csak ez a hiba zavaró. Talán az a gond, hogy el.css nem létezik? Próbáltam módosítgatni, kikommentelni részeket, de attól csak roszabb lesz
7

használd az alert függvényt

gex · 2008. Feb. 20. (Sze), 16.09

var el = dom ? document.getElementById(name) : iex ? document.all[name] : ns4 ? eval(nest+"document."+name) : false;
el.css = ns4 ? el : el.style;
az el változó értékadásánál valószínűleg a false ágba jutsz. a false-nak pedig nincsenek tulajdonságai. ha biztos akarsz lenni a dologban, akkor egy alert(el) segíthet elindulni.

szerk: a div.js elején van egy ilyen: version date: 01/24/03, tehát több mint 5 éves ez kis kód. lehet, hogy érdemes lenne egy újabb után nézni. ;)
8

sajna így sem

AdrianWeb · 2008. Feb. 20. (Sze), 18.31
sajna ezzel a módosítással is marad a hiba. Keregéltem már újabb verzió után, de szerintem nem létezik, még a fejlesztő oldalán sincs már semmi. Egyenlőre tanácstalan vagyok... Azért köszi az infót!
9

használd a firebugot

rrd · 2008. Feb. 21. (Cs), 10.13
Ha már a firebug is dob hibát akkor könnyű dolgod van. Beraksz a div.js 28. sorába egy breakpointot és észre fogod venni, hogy a content div után a getElement függvény paraméterek nélkül hívódik meg. Valószínűleg ez okozza a hibaüzenetet.

Vagy megkeresed, hogy miért hívódik meg így, vagy pedig átírod valami ilyesmire:

function getElement(name,nest){
if(name){
  nest = nest ? "document."+nest+"." : "";
  //minden más ami a függvényben van
  return el;
  }
else{
  //dobsz egy hibát, visszaadsz egy false-t, vagy nem csinálsz semmit ahogy tetszik
  }
}
11

3 helyett csak 1 div

AdrianWeb · 2008. Feb. 21. (Cs), 13.40
Kiegészítettem ennek megfelelően, de marad a hiba, csak 1 sorral lentebbről.
A site alapjául szolgáló ötletet és az eredeti kódot kódot ITT lehet megnézni. Ebben a designban, 3 div scrollozását intázi a script. Mefigyeltem, hogy itt csak olyan menüpontok alatt jön csak elő a hiba, ahol csak 2 div látható. Ahol mind a 3 ott a hiba nem jelentkezik. Úgy gondolom mivel a szkript 3 divre lett írva, az én oldalam viszont csak egy ilyen scroolozható divet tartalmaz, ezért a kódot módosítanom kellen valahogy, hogy ne keressen további diveket.
Ebben esetleg tudok segíteni? Leköteleznétek :)
10

nem módosítottam semmit

gex · 2008. Feb. 21. (Cs), 11.51
én nem módosítottam semmit, csak bemásoltam a hiba forrását. úgyhogy ha "átírtad" az általam írt kódrészletre, akkor nem írtál át semmit. :) csak azért másoltam be, mert a firebug szerint ott a hiba.
12

siker

AdrianWeb · 2008. Feb. 21. (Cs), 13.56
úgy néz ki meg is oldottam. Ahogy egyik divnek a tartalma egy üres Joomla modul volt, ez generálthatta a hibát. Szimplán kitöröltem az index fájlból az üres modult tartalmazó divet és minden ok :)