最近的项目中需要滚动鼠标放大缩小一份报告,在用d3.js的库,但是zooming不是很符合项目的需求,所以用到一些别的小知识
1.监听鼠标滚动事件
<script src="js/jquery.mousewheel.min.js"></script>
$('.cover').bind('mousewheel', function (event, delta) {
var dir = delta > 0 ? 'Up' : 'Down';
if (dir == 'Up') {
console.log("向上滑动");
} else {
console.log("向下滑动");
}
return false;
});
2.放大缩小dom元素
function zoomout() {
size = size + 0.1;
set();
}
function zoomin() {
size = size - 0.1;
set();
}
function set() {
document.getElementById('cover').style.zoom = size;//选择需要鼠标滚动放大缩小的dom元素
document.getElementById('cover').style.cssText += '; -moz-transform: scale(' + size + ');-moz-transform-origin: 0 0; ';
}
3.例子
//鼠标滚动放大缩小报告
var size = 1.0;
function zoomout() {
size = size + 0.1;
var text = Math.floor(size * 100);
$('.zoom').show().text(text + '%');
$('.zoom').fadeOut(1500);
set();
}
function zoomin() {
size = size - 0.1;
var text = Math.floor(size*100);
$('.zoom').show().text(text + '%');
$('.zoom').fadeOut(1500);
set();
}
function set() {
document.getElementById('cover').style.zoom = size;
document.getElementById('cover').style.cssText += '; -moz-transform: scale(' + size + ');-moz-transform-origin: 0 0; ';
}
$('.cover').bind('mousewheel', function (event, delta) {
var dir = delta > 0 ? 'Up' : 'Down';
if (dir == 'Up') {
zoomout();
} else {
zoomin();
}
console.log(delta);
return false;
});
</script>