Autor | Zpráva | ||
---|---|---|---|
vacjos Profil * |
Ahoj,
jak udělat, aby se dal div s vlastností overflow:hidden scrollovat, když nad ním scrolluju? Scroll tohoto divu zatím dělám přes tlačítko s funkcí: var time_scroll; function scrollDiv(id_div,smer) { var step = 5; var d = document.getElementById(id_div); if (smer == 1 && d) {d.scrollTop -= step;} if (smer == 2 && d) {d.scrollTop += step;} time_scroll = setTimeout('scrollDiv("'+id_div+'","'+smer+'")',10); } Jde to nějak zprovoznit i bez tlačítka, rovnou při scrollování na divu? Dík |
||
vacjos Profil * |
Na netu jsem našel následující funkci, ale ta scrolluje iframe (celou stránku) s overflow:hidden. Jde to nějak poupravit na ten div?
function wheel(event) { 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; |
||
vacjos Profil * |
Už to mám:-)
window.onload = function () { if(window.addEventListener) document.addEventListener('DOMMouseScroll', moveObject, false); document.onmousewheel = moveObject; } function moveObject(event) { 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;} var currPos = document.getElementById('vyhledavani_dolni'); if (delta != 0) {currPos.scrollTop = currPos.scrollTop - delta * 50;} delta = 0; } Moderátor Chamurappi: Vkládej prosím kódy mezi značky [>pre] a [>/pre] (stačí kliknout na ).
|
||
vacjos Profil * |
#4 · Zasláno: 10. 3. 2010, 10:08:56
Škoda jen, že to nejede na IE5.5, kterou stále ještě stránky musí podporovat:-( zprovoznit to na IE5.5 to asi nepůjde, že?
|
||
Chamurappi Profil |
#5 · Zasláno: 10. 3. 2010, 11:25:56
Reaguji na vacjose:
„zprovoznit to na IE5.5 to asi nepůjde, že?“ Nepůjde, událost onmousewheel zavedla až šestka.
Myslíš, že běžní návštěvníci pochopí, že mohou nad <div> em rolovat myší, když tam nebude žádný posuvník? Což takhle zavést nějakou alternativní metodu posunu, která potěší i uživatele prohlížečů kolečkovou událostí neoplývající?
|
||
kelvin Profil |
#6 · Zasláno: 10. 3. 2010, 11:38:04
vacjos:
Internet Explorer 5.5 má dle globálních statistik toplistu cca 0.021436 3% , viz http://toplist.cz/global.html | http://www.toplist.cz/stat/?a=history&type=1 . Neřešil bych. Ale to je pouze můj názor. |
||
vacjos Profil * |
#7 · Zasláno: 10. 3. 2010, 12:30:19
kelvin:
„Internet Explorer 5.5 má dle globálních statistik toplistu cca 0.021436 3%“ OK, díky. Asi tu IE5.5 vynechám. Chamurappi: vacjos: „Vkládej prosím kódy mezi značky [>pre] a [/>pre]“ Aha, to jsem nevěděl. Příště se polepšim:-) „Myslíš, že běžní návštěvníci pochopí“ Pochopí vzhledem ke kontextu a uspořádání celých stránek, které mají pevnou výšku i šířku,... těžko vysvětlit, když je neznáš. „uživatele prohlížečů kolečkovou událostí neoplývající“ Pro ně mám právě ty dvě tlačítka posun nahoru a dolu (viz. příspěvek #1) |
||
Časová prodleva: 14 let
|
0