HTML 想隐藏滚动条,然后鼠标滚轮能滚动页面

html-css010

HTML 想隐藏滚动条,然后鼠标滚轮能滚动页面,第1张

方案1:设置2个DIV层,A1外层,A2内层,A2的宽度设置比A1宽20px左右(大概就是滚动条的宽度),A2设置为可见滚动条,A1设置为隐藏滚动条。

可以滚动,但是看不到滚动条。前提是你必须在页面载入的时候将鼠标焦点对准到A2层上,如果焦点在A2层外,滚轮和下建无效。这个可以用js很容易做到。

方案2:直接把滚动条颜色设置和背景层一样。

可以用js或者css实现。

js可以监听鼠标的onscroll滚轮事件,事件内可以阻止鼠标的滚轮默认事件。

css可以设置元素的"pointer-events"属性,设置为none则所有鼠标事件失效。

通过此函数可以获取到鼠标滚动事件,然后做平移就好了

/** 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

}

}