js鼠标滑轮滚动事件绑定(兼容主流浏览器)

阅读更多
/** Event handler for mouse wheel event.
		 *鼠标滚动事件
		 */
		var wheel = function(event) {
			var delta = 0;
			if (!event) /* For IE. */
				event = window.event;
			if (event.wheelDelta) { /* IE/Opera. */
				delta = event.wheelDelta / 120;
			} else if (event.detail) {
				/** Mozilla case. */
				/** In Mozilla, sign of delta is different than in IE.
				 * Also, delta is multiple of 3.
				 */
				delta = -event.detail / 3;
			}
			/** If delta is nonzero, handle it.
			 * Basically, delta is now positive if wheel was scrolled up,
			 * and negative, if wheel was scrolled down.
			 */
			if (delta)
				handle(delta);
			/** Prevent default actions caused by mouse wheel.
			 * That might be ugly, but we handle scrolls somehow
			 * anyway, so don't bother here..
			 */
			if (event.preventDefault)
				event.preventDefault();
			event.returnValue = false;
		}

		/** Initialization code. 
		 * If you use your own event management code, change it as required.
		 */
		if (window.addEventListener) {
			/** DOMMouseScroll is for mozilla. */
			window.addEventListener('DOMMouseScroll', wheel, false);
		}
		/** IE/Opera. */
		window.onmousewheel = document.onmousewheel = wheel;

		/** This is high-level function.
		 * It must react to delta being more/less than zero.
		 */
		var handle = function(delta) {
			var random_num = Math.floor((Math.random() * 100) + 50);
			if (delta < 0) {
				// alert("鼠标滑轮向下滚动:" + delta + "次!"); // 1
				$("btn_next_pic").onclick(random_num);
				return;
			} else {
				// alert("鼠标滑轮向上滚动:" + delta + "次!"); // -1
				$("btn_last_pic").onclick(random_num);
				return;
			}
		}

你可能感兴趣的:(乔乐共享,js,鼠标,滚动,事件)