Hogy lehetne azt megoldani egy lightbox galériában, hogy ha a valaki kinagyít egy képet akkor ne lehessen görgetni az oldalt?
Szia ez egy járható út lenne, úgy gondolom(:
A kód JavaScriptben íródott, még értened sem kell, elég ha kimásolod a <script> tagek közül és meghívod a disable_scroll() függvényt, mikor meg akarod állítani a scroll eseményt.(Semmilyen gombra nem fog reagálni a scroll, se a görgőre, sem arra, ha megfogod a csúszkát és mozgatod.)
Mikor engedélyezni akarod a scroll-t, akkor hívd meg az enable_scroll() függvényt és már meg is vagy(:
A php részét nyugodtan hagyd figyelmen kívül, csak kellett pár sortörés, hogy kipróbálhassam, hogy működik e.:D
<html>
<head>
<script type="text/javascript">
// left: 37, up: 38, right: 39, down: 40,
// spacebar: 32, pageup: 33, pagedown: 34, end: 35, home: 36
var keys = [37, 38, 39, 40];
function preventDefault(e) {
e = e || window.event;
if (e.preventDefault)
e.preventDefault();
e.returnValue = false;
}
function keydown(e) {
for (var i = keys.length; i--;) {
if (e.keyCode === keys[i]) {
preventDefault(e);
return;
}
}
}
function wheel(e) {
preventDefault(e);
}
function disable_scroll() {
if (window.addEventListener) {
window.addEventListener('DOMMouseScroll', wheel, false);
}
window.onmousewheel = document.onmousewheel = wheel;
document.onkeydown = keydown;
}
function enable_scroll() {
if (window.removeEventListener) {
window.removeEventListener('DOMMouseScroll', wheel, false);
}
window.onmousewheel = document.onmousewheel = document.onkeydown = null;
}
</script>
</head>
<body>
<input type="button" value="stop" onclick="disable_scroll()" />
<input type="button" value="scrollnow" onclick="enable_scroll()" />
<?php
for($i=0;$i<250;$i++){
echo '<br />';
}
?>
</body>
</html>
Igazából ez csak egy példa, de ha rányomsz a stop gombra akkor megáll a scroll, ha a scrollnow-ra nyomsz akkor, pedig újra működik.
Sok sikert(:
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!