jquery橫向縱向鼠標滾輪全屏切換
更新時間:2017年02月27日 16:35:50 作者:joesmile
這篇文章主要為大家詳細介紹了jquery橫向縱向鼠標滾輪全屏切換效果,具有一定的參考價值,感興趣的小伙伴們可以參考一下
本文實例為大家分享了鼠標滾輪全屏切換的jquery代碼,供大家參考,具體內(nèi)容如下
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"> <h1 class="title">Section One</h1> </div> </div> <div class="section" id="section1"> <div class="intro"> <h1 class="title">Section Two</h1> </div> </div> <div class="section" id="section2"> <div class="intro"> <h1 class="title">Section Three</h1> </div> </div> <div class="section" id="section3"> <div class="intro"> <h1 class="title">Section Three</h1> </div> </div> <div class="section" id="section4"> <div class="intro"> <h1 class="title">Section Three</h1> </div> </div> <div class="section" id="section5"> <div class="intro"> <h1 class="title">Section Three</h1> </div> </div> <div class="section" id="section6"> <div class="intro"> <h1 class="title">Section Three</h1> </div> </div> <div class="section" id="section7"> <div class="intro"> <h1 class="title">Section Three</h1> </div> </div> <div class="section" id="section8"> <div class="intro"> <h1 class="title">Section Three</h1> </div> </div> <div class="section" id="section9"> <div class="intro"> <h1 class="title">Section Three</h1> </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
h1, body, html { padding: 0; margin: 0; } html, body { height: 100%; overflow: hidden; } h1 { 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; } /*右側(cè)導航*/ #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%);/*內(nèi)容旋轉(zhuǎn)*/ 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, //每次動畫執(zhí)行的時間 'pagination': true, //是否顯示分頁 'loop': false, //是否循環(huán) '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]); }); } } /*跳轉(zhuǎn)到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; } //移動頁面的核心函數(shù) 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);
以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
您可能感興趣的文章:
- 基于jQuery實現(xiàn)中英文切換導航條效果
- jquery結合html實現(xiàn)中英文頁面切換
- jQuery實現(xiàn)鼠標移入移出事件切換功能示例
- jQuery實現(xiàn)的點擊標題文字切換字體效果示例【測試可用】
- jquery實現(xiàn)圖片放大點擊切換
- jQuery實現(xiàn)百度登錄框的動態(tài)切換效果
- 用jquery的attr方法實現(xiàn)圖片切換效果
- jQuery實現(xiàn)圖片與文字描述左右滑動自動切換的方法
- jquery淡化版banner異步圖片文字效果切換圖片特效
- 基于jquery插件制作左右按鈕與標題文字圖片切換效果
- jQuery實現(xiàn)的中英文切換功能示例
相關文章
jQuery 自動增長的文本輸入框?qū)崿F(xiàn)代碼
文本輸入框內(nèi)的字數(shù)不能確定,而input type="text"的size是固定的,當字數(shù)超過size時(默認是20),先輸入的內(nèi)容就會從文本框的左端隱藏起來,不便于輸入。2010-04-04jquery動態(tài)加載圖片數(shù)據(jù)練習代碼
這里我只是隨便做了下,上面是照片列表和兩個按鈕,單擊小圖片下面顯示大圖片,當點擊按鈕時可以查看下一頁,上一頁的圖片。2011-08-08jQuery多級聯(lián)動下拉插件chained用法示例
這篇文章主要介紹了jQuery多級聯(lián)動下拉插件chained用法,結合實例形式分析了jQuery多級聯(lián)動下拉插件chained的功能與基本使用技巧,需要的朋友可以參考下2016-08-08jQuery實現(xiàn)灰藍風格標準二級下拉菜單效果代碼
這篇文章主要介紹了jQuery實現(xiàn)灰藍風格標準二級下拉菜單效果代碼,涉及jquery鼠標mouseover事件控制頁面元素樣式動態(tài)變換的實現(xiàn)技巧,具有一定參考借鑒價值,需要的朋友可以參考下2015-08-08判斷多個input type=file是否有已經(jīng)選擇好文件的代碼
在each中使用return false退出循環(huán),使用return true結束當前次循環(huán),進行下一次循環(huán)2012-05-05jQuery插件bgStretcher.js實現(xiàn)全屏背景特效
可以自動動態(tài)更換網(wǎng)頁背景圖片的jQuery插件bgstretcher.js,sharejs.com推薦的這個插件,可以自定義多種方式讓網(wǎng)頁背景自動切換,效果流暢,非常難得,調(diào)用代碼也非常簡單。2015-06-06jquery中cookie用法實例詳解(獲取,存儲,刪除等)
這篇文章主要介紹了jquery中cookie用法,結合實例詳細分析了jQuery操作cookie的獲取,存儲,刪除等操作,并附帶了Jquery操作Cookie記錄用戶查詢過信息實現(xiàn)方法,需要的朋友可以參考下2016-01-01Javascript jquery css 寫的簡單進度條控件
很多的時候用戶需要等待你“臃腫”的 Javascript 代碼處理完成(Web 2.0 的特色)。期間或許加入一個類似于進度條的東西讓用戶有點“安慰”。這個東西實現(xiàn)起來并不復雜,無非就是獲得總的處理條目,然后獲得一個百分比,再顯示輸出。2008-03-03