温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

jquery如何实现横向纵向鼠标滚轮全屏切换

发布时间:2021-08-07 10:52:00 来源:亿速云 阅读:144 作者:小新 栏目:web开发

这篇文章主要介绍jquery如何实现横向纵向鼠标滚轮全屏切换,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

具体内容如下

jquery如何实现横向纵向鼠标滚轮全屏切换

html

<!DOCTYPE html> <html lang="zh"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">  <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>jQuery鼠标滚动垂直全屏切换代码</title> <base target="_blank" /> <link rel="stylesheet" type="text/css" href="css/css.css" rel="external nofollow" > </head> <body> <div id="container">  <div class="section active" id="section0">   <div class="intro">    <h2 class="title">Section One</h2>   </div>  </div>  <div class="section" id="section1">   <div class="intro">    <h2 class="title">Section Two</h2>       </div>  </div>  <div class="section" id="section2">   <div class="intro">    <h2 class="title">Section Three</h2>       </div>  </div>  <div class="section" id="section3">   <div class="intro">    <h2 class="title">Section Three</h2>       </div>  </div>  <div class="section" id="section4">   <div class="intro">    <h2 class="title">Section Three</h2>       </div>  </div>  <div class="section" id="section5">   <div class="intro">    <h2 class="title">Section Three</h2>       </div>  </div>  <div class="section" id="section6">   <div class="intro">    <h2 class="title">Section Three</h2>       </div>  </div>  <div class="section" id="section7">   <div class="intro">    <h2 class="title">Section Three</h2>       </div>  </div>  <div class="section" id="section8">   <div class="intro">    <h2 class="title">Section Three</h2>       </div>  </div>  <div class="section" id="section9">   <div class="intro">    <h2 class="title">Section Three</h2>       </div>  </div> </div> <script src="http://down.hovertree.com/jquery/jquery-2.2.3.min.js" type="text/javascript"></script> <script type="text/javascript" src="js/switchPage.js"></script>  <script type="text/javascript"> $(function(){ $("#container").switchPage({ 'loop' : true, 'keyboard' : true, 'direction' : 'vertical' }); }); </script> </body> </html>

css

h2, body, html { padding: 0; margin: 0; } html, body { height: 100%; overflow: hidden; } h2 { font-size: 2em; font-weight: normal; } #container, .section { height: 100%; position: relative; } #section0, #section1, #section2, #section3 { background-color: #000; background-size: cover; background-position: 50% 50%; } #section0 { background-color: #024BCE; color: #fff; text-shadow: 1px 1px 1px #333; } #section1 { color: #fff; text-shadow: 1px 1px 1px #333; background-color: #31B81D; } #section2 { background-color: #01B5F0; color: #fff; text-shadow: 1px 1px 1px #666; } #section3 { color: #008283; background-color: #5D0FF1; text-shadow: 1px 1px 1px #fff; } #section4 { color: #fff; text-shadow: 1px 1px 1px #333; background-color: #31B81D; } #section5 { background-color: #01B5F0; color: #fff; text-shadow: 1px 1px 1px #666; } #section6 { color: #008283; background-color: #5D0FF1; text-shadow: 1px 1px 1px #fff; } #section7 { color: #fff; text-shadow: 1px 1px 1px #333; background-color: #31B81D; } #section8 { background-color: #01B5F0; color: #fff; text-shadow: 1px 1px 1px #666; } #section9 { color: #008283; background-color: #5D0FF1; text-shadow: 1px 1px 1px #fff; } .intro { position: absolute; top: 50%; width: 100%; -webkit-transform: translateY(-50%); transform: translateY(-50%); text-align: center; } /*右侧导航*/ #pages { position: fixed; right: 10px; top: 50%; list-style: none; } #pages li { width: 8px; height: 8px; border-radius: 50%; background: #fff; margin: 0 0 10px 5px; } #pages li.active { width: 14px; height: 14px; border: 2px solid #FFFE00; background: none; margin-left: 0; } #section0 .title { -webkit-transform: translateX(-100%);/*内容旋转*/ transform: translateX(-100%); -webkit-animation: sectitle0 1s ease-in-out 100ms forwards; animation: sectitle0 1s ease-in-out 100ms forwards; /*滑入页面*/ } /*为支持上述滑入特效写的*/ @-webkit-keyframes  sectitle0 { 0% { -webkit-transform: translateX(-100%); transform: translateX(-100%); } 100% { -webkit-transform: translateX(0); transform: translateX(0); } } @keyframes  sectitle0 { 0% { -webkit-transform: translateX(-100%); transform: translateX(-100%); } 100% { -webkit-transform: translateX(0); transform: translateX(0); } }

js

(function($) {  var defaults = {  'container': '#container', //容器  'sections': '.section', //子容器  'easing': 'ease', //特效方式,ease-in,ease-out,linear  'duration': 1000, //每次动画执行的时间  'pagination': true, //是否显示分页  'loop': false, //是否循环  'keyboard': true, //是否支持键盘  'direction': 'vertical', //滑动的方向 horizontal,vertical,  'onpageSwitch': function(pagenum) {}  };  var win = $(window);  var iIndex = 0; //当前section的索引  var arrElement = [];  var canScroll = true;  var container;  var sections;  var opts;  var flag=false;  var SP = $.fn.switchPage = function(options) {  opts = $.extend({}, defaults, options || {});  container = $(opts.container);  sections = container.find(opts.sections);  sections.each(function() {   arrElement.push($(this));  });  return this.each(function() {   if (opts.direction == 'horizontal') initLayout();   if (opts.pagination) initPagination();  })  }  //重置鼠标滚轮事件  $(document).on("mousewheel DOMMouseScroll", MouseWheelHandler);  function MouseWheelHandler(e) {  e.preventDefault();  var value = e.originalEvent.wheelDelta || -e.originalEvent.detail;  var delta = Math.max(-1, Math.min(1, value));  if (canScroll) {   if (delta < 0) {   SP.moveSectionDown();   } else {   SP.moveSectionUp();   }  }  return false;  }  //向上一张移  SP.moveSectionUp = function() {  if (iIndex) {   iIndex--;  } else if (opts.loop) {   iIndex = arrElement.length - 1;  }  scrollPage(arrElement[iIndex]);  }  //向下一张移  SP.moveSectionDown = function() {  if (iIndex < (arrElement.length - 1)) {   iIndex++  } else if (opts.loop) {   iIndex = 0;  }  scrollPage(arrElement[iIndex]);  }  //当设置横向移动时初始化横向页面  function initLayout() {  var width = (sections.length * 100) + '%',   cellwidth = (100 / sections.length).toFixed(2) + '%';  // container.width(width).addClass('left');  container.width(width);  sections.width(cellwidth).addClass('left');  }  //导航条初始化 hovertree.com  function initPagination() {  var length = sections.length;  var pageHtml = '<ul id="pages"><li class="active" id="dot_0"></li>'  for (var i = 1; i < length; i++) pageHtml += '<li id="dot_'+i+'"></li>';  pageHtml += '</ul>';  $("body").append(pageHtml);  flag=true;  if(flag==true){  $("li").click(function(){   var liId = $(this).attr("id");   var arr = liId.split('_');   iIndex=arr[1];   scrollPage(arrElement[iIndex]);  });   }  }  /*跳转到dot对应页面*/  function clickDot(){     }    //移动页面  function scrollPage(element) {  var dest = element.position();  if (dest == void 0) return;  initEffects(dest, element);  }  function isSupportCss(property) {  var body = $('body')[0];  for (var i = 0; i < property.length; i++) {   if (property[i] in body.style) {   return true;   }  }  return false;  }  //移动页面的核心函数  function initEffects(dest, element) {  canScroll = false;  var translate = "";  if (opts.direction == 'horizontal') {   translate = '-' + dest.left + 'px, 0px, 0px';  } else {   translate = '0px, -' + dest.top + 'px, 0px';  }  container.css({   'transform': "translate3d(" + translate + ")",   'transition': "all " + opts.duration + "ms " + opts.easing  });  container.on("webkitTransitionEnd msTransitionend mozTransitionend transitionend", function() {   canScroll = true;  });  element.addClass("active").siblings().removeClass('active');  if (opts.pagination) {   paginationHandler();  }  }  //每次页面移动时,修改导航栏 何问起  function paginationHandler() {  var pages = $('#pages li');  pages.eq(iIndex).addClass('active').siblings().removeClass('active');  }  var resizeId;  win.resize(function() {  clearTimeout(resizeId);  resizeId = setTimeout(function(){   rebuild();  }, 500);  });  function rebuild() {  var currentHeight = win.height();  var currentWidth = win.width();  var element = arrElement[iIndex];  if(opts.direction == "horizontal") {   var offsetLeft = element.offset().left;   if (Math.abs(offsetLeft) > (currentWidth/2) && iIndex < (arrElement.length - 1)){   iIndex++   }  }else {   var offsetTop = element.offset().top;   if (Math.abs(offsetTop) > (currentHeight/2) && iIndex < (arrElement.length - 1)){   iIndex++   }  }  var currentElement = arrElement[iIndex],  dest = currentElement.position();  initEffects(dest, currentElement);  if(opts.pagination) paginationHandler();  }   })(jQuery);

以上是“jquery如何实现横向纵向鼠标滚轮全屏切换”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注亿速云行业资讯频道!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI