Eu queria fazer uma roda de rolagem entre a primeira e a segunda telas para nivelar o efeito de comutação. Eu encontrei muitos problemas. Mais tarde, com a ajuda de KK, finalmente resolvi esse problema. Fiquei muito feliz, então gravei:
Meu código inicial se parece com o seguinte:
<! Doctype html> <html lang = "en"> <head> <meta charset = "utf-8"/> <yyled> div {width: 700px; altura: 1000px;}. </</Styn. </div> <div> </div> <div> </div> <div> </div> </body> <script src = "../ jquery/jquery.min.js"> </cript> <script src = "test.js"> </sCript> </html> $ (document) .ready (function () {var a altura = $ (janela) .Height (); // Obtenha o tamanho da área atualmente visível na janela do navegador // altere a tela inteira depois que o mouse rolls var scrollfunc = functocument.Scrolltop = document.body e escrollTop || document.DocumentMement.ScrollTop; Window.Event; if ((e.weelDelta <0 || e.detail> 0) && scrolltop> = 0 && scrolltop <altura) {// role para baixo por diferentes navegadores $ (document.body) .animate ({scroltop: altura}, "fast; if ((e.weelDelta> 0 || e.Detail <0) && scrolltop> = altura && scrolltop <= altura+20) {// role para cima por diferentes navegadores $ (document.body) .animate ({scrolltop: 0}, "fast; $ (document.documentElement) if (document.addeventlistener) {document.addeventlistener ('DommousCroll', scrollfunc, false);} window.onmousewheel = document.onmousewheel = scrollfunc;Eu testei esses códigos no IE e no Firefox, mas o evento OnMouse Wheel sempre será acionado várias vezes no Google. Isso é uma coisa extremamente irritante. Por que é acionado várias vezes? Após a depuração, descobri que toda vez que rolamos o mouse, sempre rolávamos muito de cada vez, em vez de rolar lentamente por uma pequena grade e uma pequena grade. Isso leva o evento OnMouse Wheel sendo acionado muitas vezes quando a rolagem e a função Scrollfunc é chamada. Quando a função animada na função não é executada, ela será chamada continuamente, para que a barra de rolagem não possa rolar para baixo e a página não pode rolar para cima. Então, mudei o código JS acima para o seguinte:
$ (document) .ready (function () {var altura = $ (janela) .Height (); var scrollfunc = function (e) {document.onmousewheel = indefinido; var scrolltop = document.body.scrolltop || document.documentElement.scroltop; e = e | scrolltop> = 0 && scrolltop <altura) {$ (document.body) .animate ({scrolltop: altura}, "fast", "linear", function () {document.onMouseweel = scrollfunc;}); $ (document.documentlement) .animate ({scrollop mais rápido}); scrollfunc;});} else if ((e.weelDelta> 0 || e.detail <0) && scrolltop> = altura && scrolltop <= altura+20) {$ (document.body) .animate ({scrolltop: 0}, "fast", "linear", function () {.onm scrollfunc;}); $ (document.documentElement) .animate ({scrolltop: 0}, "rápido", "linear", function () {document.onmousewheel = scrollfunc;});}}; if (document.addeventListener) {document.addeventListener ('DommouSescroll', scrollfunc, false);} document.onmousewheel = scrollfunc;});OK, o código agora está funcionando normalmente, mas como sou um novato e o código não está escrito de maneira requintada, me disseram KK novamente. Em seu prompt, modifiquei o código redundante:
$ (document) .ready (function () {var altura = $ (janela) .Height (); var width = $ (janela) .width (); var corpo; if (Navigator.UserAgent.IndexOf ("Firefox")> 0 | isfinish = true; var scrollfunc = function (e) {if (isfinish) {var scrolltop = body.scrolltop; e = e || window.event; if (e.weelDelta <0 || e.detail> 0) && scrolltop> = 0 & & scrollTo (altura -20) e.Detail <0) && scrolltop> = altura && scrolltop <= altura+20) {scroll (0);}}}; var scroll = function (altura) {isfinish = false; $ (corpo) .animate ({scroltop: altura}, "Fast", "linear", função () {éfin ({scroltop: altura}, "Fast", "linear", função () {éfinin ({scroltop: altura}, "Fast", "linear", função () {éfinin ({scroltop: hight}, "fast", "linear", função (). true;});}; if (Navigator.UserAgent.Indexof ("Firefox")> 0) {if (document.addeventListener) {document.addeventListener ('DommouSescroll', scrollfunc, false);}} {document.onmousewheel = scrollfunc;Finalmente obteve o código para a introdução. Devo dizer que aprendi muito resolvendo esse problema. No futuro, devemos trabalhar mais para o objetivo de "escrever menos, fazer mais"! ! !
Se houver algo errado em escrever, dê -me conselhos de todos os mestres, e eu aprenderei humildemente.