Autor Zpráva
kabanos
Profil *
Ahoj,
jak poupravit script, aby fungoval i pro IE8 (případně i pro nižší,nezkoušel jsem)? Tam mi funguje jen nad texty ale ne pokud skroluji někde na volné ploše.

function wheel(event) {//posun stránky na scroll
  var delta = 0;
  if (!event) {event = window.event;}
  if (event.wheelDelta) {
    delta = event.wheelDelta/120;
    if (window.opera) {delta = -delta;}
  }
  else if (event.detail) {delta = -event.detail/3;}
  if (delta) {
    if (delta < 0) {window.scrollBy(0, 50);}
    else {window.scrollBy(0, -50);}
  }
  if (event.preventDefault) {event.preventDefault();}
  event.returnValue = false;
}
if (window.addEventListener) {window.addEventListener('DOMMouseScroll', wheel, false);}
window.onmousewheel = document.onmousewheel = wheel;
Chamurappi
Profil
Reaguji na kabanose:
Prosím o odkaz na živou ukázku.
V uvedeném kódu chybu nevidím. Akorát teda moc nerozumím, k čemu je, když výchozí činnost ruší a pak ji (nepřesně) napodobuje…
kabanos
Profil *
Nemám zatím možnost někam dát ukázku. Při vymazavání mého rozsáhlého kódu, abych ho sem mohl vložit, jsem asi přišel na to, v čem bude problém - obrázek na pozadí, který mám pod mými všemi iframi (do pozadí v indexu ho dát nemohu). Tam, kde je obrázek, scrolling nefunguje (IE8 - asi to nad obrázkem nebere příkaz window.onmousewheel = document.onmousewheel = wheel;) a navíc nějak přebíjí nastylování spanů (např. cursor). Napadá vás, v čem by to mohlo být nebo jak to vyřešit?

index.htm
<!DOCTYPE html>

<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=windows-1250">
    <title></title>
  </head>
  <body>
    <img src="Odkaz" height="600" width="200">
    <iframe allowtransparency="true" src="text.htm" style="width: 500px; height: 200px; position: absolute; left: 20px; top: 20px; border: 1px solid #000000;" name="text1" frameborder="0" scrolling="no"></iframe>
    <iframe allowtransparency="true" src="text.htm" style="width: 500px; height: 200px; position: absolute; left: 20px; top: 240px; border: 1px solid #000000;" name="text2" frameborder="0" scrolling="no"></iframe>
  </body>
</html>

text.htm
<!DOCTYPE html>

<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=windows-1250">
    <title></title>
    <style type="text/css">.menu { display: block; width: 100%; height: 30px; cursor: pointer;}</style>
<script type="text/javascript">
function moveObject(event) {
  var currPos = document.getElementById('aa');
  var delta = 0;
  if (!event) {event = window.event;}
  if (event.wheelDelta) {
    delta = event.wheelDelta/120;
    if (window.opera) {delta = -delta;}
  }
  else if (event.detail) {delta = -event.detail/3;}
  if (delta != 0 && currPos) {currPos.scrollTop = currPos.scrollTop - delta * 50;}
  delta = 0;
}
if (window.addEventListener) {window.addEventListener('DOMMouseScroll', moveObject, false);}
window.onmousewheel = document.onmousewheel = moveObject; 
</script>
  </head>
  <body>
    <div id="aa" style="position: relative; left: 50px; top: 50px; width: 200px; height: 400px; overflow: hidden; border: 1px solid #000000;">
      <span class="menu">1</span> 
      <span class="menu">2</span>
      <span class="menu">3</span>
      <span class="menu">4</span>
      <span class="menu">5</span>
      <span class="menu">6</span>
      <span class="menu">7</span>
      <span class="menu">8</span>
      <span class="menu">9</span>
      <span class="menu">10</span>
      <span class="menu">11</span>
      <span class="menu">12</span>
      <span class="menu">13</span>
      <span class="menu">14</span>
      <span class="menu">15</span>
      <span class="menu">16</span>
      <span class="menu">17</span>
      <span class="menu">18</span>
      <span class="menu">19</span>
    </div>
  </body>
</html>



V indexu se mi na pozici src obrázku nevložil odkaz na obrázek, ale jen text odkaz. Lze tam použít jakýkoli.
kabanos
Profil *
Problémek jsem zatím vyřešil přidáním průhledného pozadí do body všech vkládaných iframů.

body { background-image: url("blank.gif"); }
_es
Profil
kabanos:
Nemám zatím možnost někam dát ukázku.
Povídání o živých ukázkách » Obvyklé výmluvy

Okrem toho si neodpovedal na otázku, na čo to vlastne celé je - čo by to malo robiť, ak by to podľa teba „fungovalo“.
kabanos
Profil *
_es:
Okrem toho si neodpovedal na otázku, na čo to vlastne celé je - čo by to malo robiť, ak by to podľa teba ‚fungovalo‘.
Mám to na posun delšího menu (nebo textu) (uzavřeného do divu o pevných rozměrech, overflow hidden, bez viditelného posuvníku - celé stránky jsou zcela bez jakýchkoli prohlížečových posuvníků) při scrollování myší nad tímto textem nebo nad příslušným iframe (ve kterém je posunované menu vloženo) - viz. příklad. Vše dělám pro offline stránky, které pak jsou na CD.

Povídání o živých ukázkách » Obvyklé výmluvy
„Nevím, kam to nahrát.“ - zkoušel jsem kod.djpw.cz, ale nepřišel jsem na to, jak tam pracovat s iframe - nemám s tímto dost zkušeností (žádné)
Ty ostatní výmluvy - mám to opravdu zatím jen na localu, žádný freehosting pro sebe nemám zaregistrován a na pár cizích mnou spravovaných hostingů to nechci umisťovat kvůli odkazům
Bubák
Profil
kabanos:
ale nepřišel jsem na to, jak tam pracovat s iframe
Úplně stejně, jako jinde. Věř tomu, že stránka, kterou budeš mít v iframe, jde vytvořit i na kod.djpw.cz.
kabanos
Profil *
Bubák:
Úplně stejně, jako jinde. Věř tomu, že stránka, kterou budeš mít v iframe, jde vytvořit i na kod.djpw.cz.
Tuším, že to jde, ale bohužel nevím jak, tak to posílám v rozšířeněnjší podobě přes ulož to: začátek adresy uložto + /xTogxY6z/onmousescroll-v-ie8-rar

Díky
Bubák
Profil
kabanos:
tak to posílám v rozšířeněnjší podobě přes ulož to
Povídání o živých ukázkách » Co živá ukázka není?

Díky
Není zač.
kabanos
Profil *
Bubák:
Není zač.
Není, není, protože žádná rada zatím nepřišla:-(

Úplně stejně, jako jinde
Stejně jako jinde - ani jinde jsem to nikdy nedělal. Prostě nevím jak vytvořit v kod.djpw.cz iframe s nějakým vlastním obsahem a navíc tam přidat třeba obrázky - ty asi musím adresovat někam na web, takže musím např. v mém případě průhledný gif vygooglit a naadresovat to na něj? Zkoušel jsem smazat z tagu iframe atribut src a celý obsah stránky vkládané do iframu pak dát rovnou mezi tagy <iframe> a </iframe>, ale to nevyšlo:-( Nic dalšího mne nenapadá.

Je někde pro tyto udělátka živých ukázek (kod.djpw.cz) nějaký manuál pro amatéry?

Asi mi nezbyde, než si zaregistrovat free webhosting a dát to na něj:-(

PS: Vidím, že čas nad touto diskuzí ohledně živých kódů je znatelně delší než můj jednoduchý kód vložený pod #3, u kterého stačí jen vytvořit 2 soubory, vložit to do nich a přidat nějaký vlastní obrázek na pozadí (když mi to tu smazalo vložený odkaz).
_es
Profil
kabanos:
Len ma napadlo, či nie je problém práve v tom, že to skúšaš z lokálneho disku - v IE vtedy nemusí fungovať JS. Okrem toho, prečo sa vlastne snažíš znefunkčniť normálne ovládacie prvky prehliadača a namiesto nich „lepíš“ nejaké náhrady závislé od JS?
kabanos
Profil *
_es:
Len ma napadlo, či nie je problém práve v tom, že to skúšaš z lokálneho disku - v IE vtedy nemusí fungovať JS. Okrem toho, prečo sa vlastne snažíš znefunkčniť normálne ovládacie prvky prehliadača a namiesto nich ‚lepíš‘ nejaké náhrady závislé od JS?
Důvod je ten, že jednak jsem laik, jednak na tom CD nejsou webovky spouštěné přímo do prohlížeče, ale prohlížeč je rovnou spouštěn do fullscreen bez jakýchkoli menu atp........ Proto i posuvníky na stránkách nejsou vidět, jednak z grafického důvodu a jednak proto, že se to celé tváří, jako že to webovky vůbec nejsou. Posuvníky mám nahrazeny tlačítky přes JS atp. Scrollovat div nebo stránku se skrytými posuvníky, nastaveným overflow hidden atd bez JS neumím. Nenapsal jsem vše, protože než bych to vše popsal, tak si to vyřeším sám...................Prostě důvody mám, i když by někdo (neamatér) našel jiné řešení.

Škoda, že se tu neřeší přímo dotaz, ale jen důvody proč aj:-(
kabanos
Profil *
živá ukázka - http://jv.webpark.cz/tests/onmousescroll_v_IE8/index.htm
_es
Profil
kabanos:
Skúšal som to v prehliadači, kde to vraj má fungovať. Ako sa k tomu zneprístupnenému obsahu dostanem bez kolieska myši (notebook), prípadne s myšou bez kolieska, či úplne bez myši?
kabanos
Profil *
_es:
Skúšal som to v prehliadači, kde to vraj má fungovať. Ako sa k tomu zneprístupnenému obsahu dostanem bez kolieska myši (notebook), prípadne s myšou bez kolieska, či úplne bez myši?
Ach jo:-( Proč se stále dokola řeší něco jiného (zda někdo má nebo nemá myš s kolečkem a jiné okolnosti) než to, na co směřuje dotaz - zejména "důvod" problému a jeho řešení (kromě mého s připsaným průhledým backgroundem):-(

Jinak už jsem to tu už popisoval - viz: „Posuvníky mám nahrazeny tlačítky přes JS atp.“ - to řeší tu absenci kolečka.

Jako další poddotaz vyvstal s tím (viz. poznámka v živé ukázce), proč se emulace IE8 v IE11 chová jinak než v IEtesteru a v originále (Win XP). Jak to pak debuggovat a být si jist.
_es
Profil
kabanos [#15]:
Píšeš o „scrollovaní“ - pod tým si predstavujem niečo viac, než krútenie kolieskom myši - aby mi napríklad fungovalo posúvanie šípkami na klávesnici, PgUp, Pg,Dn, medzerník, tabulátor ... Obávam sa, že niečo také „nenasimuluješ“ a ak to bude používať aj niekto iný ako ty, tak na teba bude poriadne nadávať. Okrem toho ti pri používaní „kolieska“ nefunguje možnosť koliesko stlačiť a potom posúvať obsah pohybom myši. Ak už tie posuvníky tak strašne vadia, tak by aspoň mohli byť nejako vhodne dynamicky zobrazované a skrývané. Ešte ma napadlo, či by nemohli byť len schované za iný obsah.
kabanos
Profil *
Vložil jsem tam ještě 4 variantu, která je úplně bez JS, div má posuvník viditelný a dělá to stejnou chybu.


A nefunguje to ani když kliknu do divu(jako focus) a pak zascroluju.


_es:
Píšeš o ‚scrollovaní‘
K poznámkám nesměřujícím k tématu se už nebudu vyjadřovat. Moji uživatelé s tí normálně pracují a bez problémů a jsou jich stovky...


A ještě průkaznější a jednodušší 5.varianta
_es
Profil
kabanos:
Ešte ma napadlo, zakázať „scrolovanie“ nie pre element iframe (scrolling="no"), ale až „v jeho vnútri“ pre načítaný dokument.

Vaše odpověď

Mohlo by se hodit

Neumíte-li správně určit příčinu chyby, vkládejte odkazy na živé ukázky.
Užíváte-li nějakou cizí knihovnu, ukažte odpovídajícím, kde jste ji vzali.

Užitečné odkazy:

Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: