240 lines
7.7 KiB
HTML
240 lines
7.7 KiB
HTML
<!DOCTYPE html>
|
|
<html lang="en">
|
|
<head>
|
|
<meta charset="iso-8859-1">
|
|
<title>Testing mousewheel plugin</title>
|
|
|
|
<style>
|
|
html {
|
|
font: 13px Arial, sans-serif;
|
|
}
|
|
|
|
#stage {
|
|
color: #fff;
|
|
position: relative;
|
|
zoom: 1;
|
|
}
|
|
|
|
#test1, #test2, #test3, #test4, #test5, #test6, #test7 {
|
|
float: left;
|
|
}
|
|
|
|
#test1 {
|
|
background-color: #000;
|
|
width: 120px;
|
|
height: 100px;
|
|
}
|
|
|
|
#test2 {
|
|
background-color: #333;
|
|
width: 120px;
|
|
height: 100px;
|
|
}
|
|
|
|
#test3 {
|
|
background-color: #666;
|
|
width: 120px;
|
|
height: 100px;
|
|
}
|
|
|
|
#test4 {
|
|
background-color: #000;
|
|
width: 120px;
|
|
height: 100px;
|
|
}
|
|
|
|
#test5 {
|
|
background-color: #333;
|
|
padding: 5px;
|
|
width: 400px;
|
|
height: 400px;
|
|
}
|
|
|
|
#test6 {
|
|
background-color: #666;
|
|
padding: 5px;
|
|
width: 250px;
|
|
height: 250px;
|
|
}
|
|
|
|
#test7 {
|
|
background-color: #000;
|
|
padding: 5px;
|
|
width: 100px;
|
|
height: 100px;
|
|
}
|
|
|
|
#forceScroll {
|
|
clear: both;
|
|
height: 1000px;
|
|
}
|
|
|
|
#logger {
|
|
position: absolute;
|
|
top: 100px;
|
|
left: 0;
|
|
width: 480px;
|
|
height: 310px;
|
|
overflow: auto;
|
|
z-index: 100;
|
|
}
|
|
|
|
#logger p {
|
|
color: #000;
|
|
padding: 2px;
|
|
border-bottom: 1px solid #ccc;
|
|
margin: 0;
|
|
}
|
|
|
|
#logger p:nth-child(even) {
|
|
background-color: #ffffe8;
|
|
}
|
|
|
|
#logger p:nth-child(10n) {
|
|
border-bottom-color: #000;
|
|
}
|
|
</style>
|
|
|
|
<script>
|
|
(function() {
|
|
var verMatch = /v=([\w\.]+)/.exec(location.search),
|
|
version = verMatch && verMatch[1],
|
|
src;
|
|
if (version)
|
|
src = 'code.jquery.com/jquery-' + version;
|
|
else
|
|
src = 'code.jquery.com/jquery-git';
|
|
document.write('<script src="http://' + src + '.js"><\/script>');
|
|
})();
|
|
</script>
|
|
<script>
|
|
$(function() {
|
|
$('#userAgent').html(navigator.userAgent);
|
|
$('#jqueryVersion').html($.fn.jquery);
|
|
|
|
var loghandle = function(event, delta) {
|
|
var o = '', id = event.currentTarget.id || event.currentTarget.nodeName;
|
|
|
|
o = '#' + id + ':';
|
|
|
|
if (delta > 0)
|
|
o += ' up (' + delta + ')';
|
|
else if (delta < 0)
|
|
o += ' down (' + delta + ')';
|
|
|
|
if (event.deltaY > 0)
|
|
o += ' north (' + event.deltaY + ')';
|
|
else if (event.deltaY < 0)
|
|
o += ' south (' + event.deltaY + ')';
|
|
|
|
if (event.deltaX > 0)
|
|
o += ' east (' + event.deltaX + ')';
|
|
else if (event.deltaX < 0)
|
|
o += ' west (' + event.deltaX + ')';
|
|
|
|
o += ' deltaFactor (' + event.deltaFactor + ')';
|
|
|
|
log( o );
|
|
};
|
|
|
|
$(document)
|
|
.mousewheel(function(event, delta) {
|
|
loghandle(event, delta);
|
|
});
|
|
|
|
$('#test1')
|
|
.mousewheel(function(event, delta) {
|
|
loghandle(event, delta);
|
|
log('pageX: ' + event.pageX + ' pageY: ' + event.pageY );
|
|
});
|
|
|
|
$('#test2')
|
|
.mousewheel(function(event, delta) {
|
|
loghandle(event, delta);
|
|
return false; // prevent default
|
|
});
|
|
|
|
$('#test3')
|
|
.hover(function() { log('#test3: mouseover'); }, function() { log('#test3: mouseout'); })
|
|
.mousewheel(function() {
|
|
log('#test3: I should not have been logged');
|
|
})
|
|
.unmousewheel();
|
|
|
|
var testRemoval = function() {
|
|
log('#test4: I should not have been logged');
|
|
};
|
|
|
|
$('#test4')
|
|
.mousewheel(function(event, delta) {
|
|
loghandle(event, delta);
|
|
return false;
|
|
})
|
|
.mousewheel(testRemoval)
|
|
.mousewheel(function(event, delta) {
|
|
loghandle(event, delta);
|
|
return false;
|
|
})
|
|
.unmousewheel(testRemoval);
|
|
|
|
$('#test5')
|
|
.mousewheel(function(event, delta) {
|
|
loghandle(event, delta);
|
|
event.stopPropagation();
|
|
event.preventDefault();
|
|
});
|
|
|
|
$('#test6')
|
|
.mousewheel(function(event, delta) {
|
|
loghandle(event, delta);
|
|
event.stopPropagation();
|
|
event.preventDefault();
|
|
});
|
|
|
|
$('#test7')
|
|
.mousewheel(function(event, delta) {
|
|
loghandle(event, delta);
|
|
event.preventDefault();
|
|
});
|
|
|
|
function log(msg) {
|
|
$('#logger').append('<p>' + msg + '<\/p>')[0].scrollTop = 999999;
|
|
}
|
|
});
|
|
</script>
|
|
<script src="../jquery.mousewheel.js"></script>
|
|
</head>
|
|
<body>
|
|
<h1 id="banner">jQuery mousewheel.js Test with jQuery <span id="jqueryVersion"></span></h1>
|
|
<h2 id="userAgent"></h2>
|
|
|
|
<ul>
|
|
<li><strong>Test1</strong> is just using the plain on <code>mousewheel()</code> with a function passed in and does not prevent default. (Also logs the value of <code>pageX</code> and <code>pageY</code> event properties.)</li>
|
|
<li><strong>Test2</strong> should prevent the default action.</li>
|
|
<li><strong>Test3</strong> should only log a <code>mouseover</code> and <code>mouseout</code> event. Testing <code>unmousewheel()</code>.</li>
|
|
<li><strong>Test4</strong> has two handlers.</li>
|
|
<li><strong>Test5</strong> is like Test2 but has children. The children should not scroll until mousing over them.</li>
|
|
<li><strong>Test6</strong> is like Test5 but should not scroll children or parents.</li>
|
|
<li><strong>Test7</strong> is like Test6 but has no children. It will propagate the event and scroll test 6 as well.</li>
|
|
</ul>
|
|
|
|
|
|
<div id="stage">
|
|
<div id="test1"><p>Test1</p></div>
|
|
<div id="test2"><p>Test2</p></div>
|
|
<div id="test3"><p>Test3</p></div>
|
|
<div id="test4"><p>Test4</p></div>
|
|
<div id="test5">
|
|
<p>Test5</p>
|
|
<div id="test6">
|
|
<p>Test6</p>
|
|
<div id="test7"><p>Test7</p></div>
|
|
</div>
|
|
</div>
|
|
<div id="logger"></div>
|
|
</div>
|
|
|
|
<div id="forceScroll"></div>
|
|
</body>
|
|
</html>
|