jquery 分页 下拉框
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title></title> <style> *{ margin: 0 ;padding: 0;} ul,li{ list-style: none;} #tables{ width: 100%; height: auto;; overflow: hidden; margin-bottom: 40px;;} #tables li{list-style: none; width: 100px; height: 150px; overflow: hidden; border: 2px solid red; float: left; display: inline;} #tables li img{ width: 100px; float: left;} .fenye { height: 40px; line-height: 40px; position: relative; z-index: 88;; text-align: center; } .fenye input { outline: 0;; } .fenye button { padding: 0 10px; margin: 0 10px; height: 40px; float: left; outline: 0;; cursor: pointer; border: 1px solid #ebebeb; background-color: #ffffff; } .fenye .prePage,.fenye .turnPage,.fenye .last-page,.fenye .jump-button{ background:#157fcc ; color: #fff;} .fenye button:disabled{ background-color: #eee; } .fenye .first-page, .fenye .last-page { margin: 0; } .fenye .pageWrap { height: 38px; float: left; overflow: hidden;border: 1px solid #ebebeb; } .fenye .pageWrap ul { width: 100000px; height: 40px; float: left;list-style: none; overflow: hidden; } .fenye .pageWrap ul li:first-of-type(1){ border-left: 1px solod #ebebeb;; } .fenye .pageWrap ul li:hover{ background-color: #eee; } .fenye .pageWrap ul li {list-style: none; width: 60px; height: 40px; border-right: 1px solid #ebebeb; line-height: 40px; box-sizing: border-box; cursor: pointer; float: left; } .fenye .pageWrap ul .sel-page { background-color: #157fcc; color: #fff; } .fenye .jump-text { width: 60px; height: 40px; box-sizing: border-box; text-align: center; margin: 0 5px; float: left; } .fenye .jump-button { margin: 0; float: left; position: relative; z-index: 89;; } .fenye .total-pages, .fenye .total-count { margin-left: 10px; float: left; font-size: 14px; } .total-count{border: 1px solid #ebebeb; background-color: #ffffff; padding: 0 10px;} </style> </head> <body> <div id="tables"> <li>11 动态数据</li> </div> <div class=" fenye" id="fenbox"></div> <div id="saa">重新初始化2</div> <div style="padding: 10px;;">-----------------------------------</div> <div id="tables2"> <li>22 动态数据</li> </div> <div class=" fenye" id="fenbox2"></div> <script src="http://lib.sinaapp.com/js/jquery/2.0.2/jquery-2.0.2.min.js"> </script> <script > (function($, window, document) { // 定义构造函数 function Paging(el, options) { this.el = el; var defaults = { pageNo: 1, // 初始页码 totalPages: 1, //总页数 totalCount: 1, // 条目总数 slideSpeed: 0, // 缓动速度 jump: false, // 支持跳转, first:true, callback:function() {} // 回调函数, }; this.options = $.extend({},defaults,options) //console.log("最喜欢总", this.options ); this.init(this.el); } // 给实例对象添加公共属性和方法 Paging.prototype = { constructor: Paging, init: function(ele) { this.createDom(); this.bindEvents(ele); }, createDom: function() { var that = this, ulDom = '', jumpDom = '', content = '', liWidth = 60, // li的宽度 totalPages = that.options.totalPages||1, // 总页数 wrapLength = 0; if(typeof totalPages!='number'||typeof totalPages<=0){ totalPages=1; } totalPages > 5 ? wrapLength = 5 * liWidth : wrapLength = totalPages * liWidth; if(totalPages<=1){ ulDom += '<li class="sel-page">' + 1 + '</li>'; }else{ for (var i = 1; i <= that.options.totalPages; i++) { i != 1 ? ulDom += '<li>' + i + '</li>' : ulDom += '<li class="sel-page">' + i + '</li>'; } } that.options.jump ? jumpDom = '<input type="text" placeholder="1" class="jump-text jumpText" ><button type="button" class="jump-button jumpBtn">跳转</button>' : jumpDom = ''; content = '<button type="button" class="turnPage firstPage first-page">首页</button>' + '<button class="turnPage prePage" >上一页</button>' + '<div class="pageWrap" style="width:' + wrapLength + 'px">' + '<ul class="pageSelect" style="transition:all ' + that.options.slideSpeed + 'ms">' + ulDom + '</ul></div>' + '<button class="turnPage nextPage" >下一页</button>' + '<button type="button" class="last-page lastPage">尾页</button>' + jumpDom + '<p class="total-pages">共 ' + that.options.totalPages + ' 页</p>' + '<p class="total-count">' + that.options.totalCount + '</p>'; that.el.html(content); }, bindEvents: function(ele) { var ele=ele; var that = this, pageSelect =ele.find('.pageSelect'), // ul lis = pageSelect.children(), // li的集合 liWidth = lis[0]?(lis[0].offsetWidth):0, // li的宽度 totalPages = that.options.totalPages, // 总页数 pageIndex = that.options.pageNo, // 当前选择的页码 distance = 0, // ul移动距离 prePage = ele.find('.prePage'), nextPage = ele.find('.nextPage'), firstPage = ele.find('.firstPage'), lastPage = ele.find('.lastPage'), jumpBtn = ele.find('.jumpBtn'), jumpText =ele.find('.jumpText'); // console.log(firstPage); prePage.on('click', function() { pageIndex--; that.options.first=true; if (pageIndex < 1) pageIndex = 1; handles(pageIndex); }) nextPage.on('click', function() { pageIndex++; that.options.first=true; if (pageIndex > lis.length) pageIndex = lis.length; handles(pageIndex); }) firstPage.on('click', function() { pageIndex = 1; that.options.first=true; handles(pageIndex); }) lastPage.on('click', function() { pageIndex = totalPages; that.options.first=true; handles(pageIndex); }) $(document).on("click", jumpBtn, function() { // jumpBtn.on('click', function() { var jumpNum = parseInt(jumpText.val().replace(/\D/g, '')); if (jumpNum && jumpNum >= 1 && jumpNum <= totalPages) { pageIndex = jumpNum; that.options.first=true; handles(pageIndex); jumpText.val(jumpNum); } }) //$(document).on("click", lis, function() { lis.on('click', function() { that.options.first=true; pageIndex = $(this).index() + 1; handles(pageIndex); }) function handles(pageIndex) { //debugger; lis.removeClass('sel-page').eq(pageIndex - 1).addClass('sel-page'); if(totalPages<=1){ firstPage.attr('disabled', true); prePage.attr('disabled', true); nextPage.attr('disabled', true); lastPage.attr('disabled', true) ; jumpBtn.attr('disabled', true) ; jumpText.attr('disabled', true) ; if(that.options.first){ that.options.callback(pageIndex); } return false; } if (totalPages <= 5) { if(that.options.first){ that.options.callback(pageIndex); } // console.log("222totalPages",totalPages) return false; } if (pageIndex >= 3 && pageIndex <= totalPages - 2) distance = (pageIndex - 3) * liWidth; if (pageIndex == 2 || pageIndex == 1) distance = 0; if (pageIndex > totalPages - 2) distance = (totalPages - 5) * liWidth; pageSelect.css('transform', 'translateX(' + (-distance) + 'px)'); pageIndex == 1 ? firstPage.attr('disabled', true) : firstPage.attr('disabled', false); pageIndex == 1 ? prePage.attr('disabled', true) : prePage.attr('disabled', false); pageIndex == totalPages ? lastPage.attr('disabled', true) : lastPage.attr('disabled', false); pageIndex == totalPages ? nextPage.attr('disabled', true) : nextPage.attr('disabled', false); if(that.options.first){ that.options.callback(pageIndex); } } //if(that.options.first){ handles(that.options.pageNo); // 初始化页码位置 //} } } $.fn.paging = function(options) { // console.log($(this)); return new Paging($(this), options); } })(jQuery, window, document); </script> <script> //http://layer.layui.com/ $(document).ready(function(){ var tables=$("#tables"); var page=1; //ajaxDATA(1) function ajaxDATA(page){ var urls="http://mktm.biqiang8.com/home/goods?firstCid=0&secCid=0&pageNo="+page+"&pageSize=5&exsitIdList=" $.ajax({ type: "GET", url: urls, dataType: "json", success: function(data){ if(data.code==0){ var htmlStr=""; //console.log(data.goods_list); for(var i=0;i<data.data.goods_list.length;i++){ htmlStr+='<li>'+i+data.data.goods_list[i].title+'<img src="'+data.data.goods_list[i].img_url+'"</li>' } $("#tables").html(htmlStr); } } }); } var setTotalCount = 301; var fenyeObj={ initPageNo: 1, // 初始页码 totalPages: 1, //总页数 totalCount: '合计' + 0 + '条数据', // 条目总数 slideSpeed: 600, // 缓动速度。单位毫秒 jump: true, //是否支持跳转 first:false, //初始化 是否立即执行回掉 callback: function(page) { // 回调函数 console.log("立11即查询",page); ajaxDATA(page) } } $('#fenbox').paging(fenyeObj) $("#saa").on("click",function(){ setTotalCount = 71; fenyeObj.totalCount = '合计' + setTotalCount + '条数据', // 条目总数; fenyeObj.totalPages=24; fenyeObj.first=false; //console.log("立重置即查询",fenyeObj); $('#fenbox').paging(fenyeObj) }) var setTotalCount2 = 31; var fenyeObj2={ initPageNo: 1, // 初始页码 totalPages: 20, //总页数 totalCount: '合计' + setTotalCount2 + '条数据', // 条目总数 slideSpeed: 600, // 缓动速度。单位毫秒 jump: true, //是否支持跳转 // first:false, callback: function(page) { // 回调函数 console.log("立即22查询",page); ajaxDATA(page) } } $('#fenbox2').paging(fenyeObj2) }); </script> </body> </html>
下拉框
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>信息查询</title> <meta name="viewport" content="initial-scale=1.0,user-scalable=no,maximum-scale=1,width=device-width" /> </head> <body> <style> html,body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,form,fieldset,input,textarea,p,blockquote,span,img,button ,em,i,b{margin:0;padding:0;} html{-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent;min-width:320px;font-size:62.5%;} body{font-family:"微软雅黑",'Helvetica Neue',Helvetica,tahoma,arial,sans-serif;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;line-height:1;font-size:14px;-webkit-touch-callout:none;} article,aside,dialog,figure,footer,header,hgroup,menu,nav,section{display:block} dl,li,menu,ol,ul{list-style:none} address,em,i,th{font-weight:400;font-style:normal} a{color:#999;display:block;} a:link,a:visited{color:#999;text-decoration:none;cursor:pointer} a:hover{cursor:pointer} a:active,a:focus{outline:0;} img{width:100%;border:0;vertical-align:middle;-webkit-user-select:none;} input,select{outline:0} h1,h2,h3,h4,h5,h6{font-size:100%;font-variant:normal;font-weight:normal;} button,input[type=button],input[type=tel],input[type=reset],input[type=submit]{line-height:normal!important;-webkit-appearance:none} ::-webkit-input-placeholder{color:#777;} ::input-placeholder{color:#777;} input:focus::-webkit-input-placeholder{-webkit-transition:.2s;opacity:0;} input:focus::input-placeholder{transition:.2s;opacity:0;} .clearfix:after{clear:both;content:".";display:block;height:0;visibility:hidden} .fl{float:left} .fr{float:right} .fl,.fr{display:inline} .disabled{pointer-events:none;} .hover{ } .hover:hover{ cursor: pointer;} /* 业务css*/ .my_form{ background: #fafafa; border: 1px solid #e0e0e0; margin-top: 20px; padding: 21px; m } .my_form .my_form_content{ width: 100%; } .form_content_submit{ margin: 20px auto; display: block; font-size: 16px; text-align: center; width: 120px;; height: 44px; line-height: 44px;background: #157fcc; color: #fff; border: 0;;} .my_form_table{ border: 1px solid #e0e0e0; } .flexbox{display:-webkit-box; display:-moz-box; display:box; display:-webkit-flex; display:-moz-flex; display:-ms-flexbox; display:flex; display:table\9; } .flexbox .flex1{ -webkit-box-flex:1; -moz-box-flex:1; box-flex:1; -webkit-flex:1; -moz-flex:1; -ms-flex:1; flex:1; display:table-cell\9; } .selected_icon{ position: relative; width: 100%; height: 100%;} .selected_icon .check{ position:absolute;background: #157fcc;} .selected_icon .check.plus{ left: 50%; top: 50%; margin-left: -8px; width: 16px; height: 1px; } .selected_icon .check.reduce{left: 50%;top: 50%;; margin-top: -8px;; position:absolute;width: 1px; height: 16px; } .showone.on .check{background: red !important;} .showone.on .check.reduce{ -webkit-transform:translateY(50%);-moz-transform:translateY(50%);transform:translateY(50%); opacity: 0; -webkit-transition: .3s;-moz-transition: .3s;transition: .3s;;} .showone{ position: relative;;border-bottom: 1px solid #e0e0e0 ;} .hideone{ background: #fff; margin:20px 44px;;border: 1px solid #ccc ;} .hideoneinner { position: relative;; height:44px; line-height: 44px; text-align: center; border-bottom: 1px solid #e0e0e0;} .hideoneinner div { height:44px; line-height: 44px;border-right: 1px solid #e0e0e0; } .showone.on:after{position: absolute; content: ""; height: 1px; width: 22px; background:#e0e0e0; left: 22px; top: 65px; z-index: 26;} .showone.on:before{ position: absolute; content: ""; height: 22px; width:1px; background:#e0e0e0; left: 22px; top: 44px; z-index: 26;} .hideoneinner div:last-child{ border-right:0; } .hideoneinner div:first-child{ font-weight: bold; } .hideoneinner:last-of-type{ border-bottom: 0;} .my_form_table .showone:hover{ background:#f5f5f5 ;} .filter-disabled { -moz-user-select: none; -webkit-user-select: none; -ms-user-select: none; } .filter-box { position: relative; z-index: 92;; } .filter-box select { display: none; } .filter-text { height: 100%; overflow: hidden; position: relative; cursor: pointer; padding: 0 30px 0 10px; background: #fff; border: 1px solid #e6e6e6; } .filter-text input { font-size: 14px; } .filter-text .filter-title { width: 100%; height: 36px; line-height: 36px; border: 0; background-color: transparent; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; padding: 0; cursor: pointer; } .filter-list { display: none; width: 100%; z-index: 99; max-height: 300px; background-color: #fff; font-size: 14px; position: absolute; top: 42px; left: 0; z-index: 99; border: 1px solid #e6e6e6; overflow: auto; } .filter-list li.filter-null a { color: #d2d2d2; } .filter-list li a { display: block; padding: 0 10px; line-height: 36px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; cursor: pointer; } .filter-list li:hover { background-color: #f2f2f2; } .filter-list li.filter-selected { background-color: #5FB878; } .filter-list li.filter-selected a{ display: block; color: #fff; } .filter-list li.filter-disabled { background-color: #fff; } .filter-list li.filter-disabled a{ display: block; color: #d2d2d2; } .filter-list li.filter-disabled:hover a { cursor: not-allowed!important; background-color: #fff; } .icon { position: absolute; } .icon-filter-arrow { width:0; height:0; overflow:hidden; font-size: 0; /*是因为, 虽然宽高度为0, 但在IE6下会具有默认的 */ line-height: 0; /* 字体大小和行高, 导致盒子呈现被撑开的长矩形 */ border-width:8px; border-style:solid dashed dashed dashed;/*IE6下, 设置余下三条边的border-style为dashed,即可达到透明的效果*/ border-color:#999 transparent transparent transparent; right: 10px; top: 13px; transition: all .2s; } .icon-filter-arrow.filter-show { -webkit-transform: rotate(-180deg); transform: rotate(-180deg); } .filter-list::-webkit-scrollbar { width: 4px; height: 4px; } .filter-list::-webkit-scrollbar-track { background: #fff } .filter-list::-webkit-scrollbar-thumb { background: #CBCBCB; } #j_searchtask{ background: #666; padding: 10px 20px;} </style> <div> <!-- 这里开始 --> <div class="filter-box filter-box1 fl"> <div class="filter-text"> <input class="filter-title" id="j_qudao" data-val="" type="text" readonly placeholder="请选择渠道" /> <i class="icon icon-filter-arrow"></i> </div> <select name="filter"> <option value="new" disabled>请选择渠道</option> <option value="11渠道1" >渠道1</option> <option value="22渠道2">渠道2</option> <option value="33渠道3">渠道3</option> </select> </div> <!-- 这里结束 --> <!-- 这里开始 --> <div class="filter-box filter-box2 fl"> <div class="filter-text"> <input class="filter-title" id="j_qudao2" data-val="" type="text" readonly placeholder="请选择支付" /> <i class="icon icon-filter-arrow"></i> </div> <select name="filter"> <option value="new" disabled>请选类型</option> <option value="淘宝1" >淘宝</option> <option value="支付宝2">支付宝</option> </select> </div> <!-- 这里结束 --> <div class="right fr" class="flex1" id="j_searchtask">查询结果</div> </div> <script src="http://lib.sinaapp.com/js/jquery/2.0.2/jquery-2.0.2.min.js"> </script> <script type="text/javascript" > ;jQuery.fn.selectFilter = function(options) { var defaults = { callBack: function(res) {} }; var ops = $.extend({}, defaults, options); var selectList = $(this).find('select option'); var that = this; var html = ''; html += '<ul class="filter-list">'; $(selectList).each(function(idx, item) { var val = $(item).val(); var valText = $(item).html(); var selected = $(item).attr('selected'); var disabled = $(item).attr('disabled'); var isSelected = selected ? 'filter-selected' : ''; var isDisabled = disabled ? 'filter-disabled' : ''; if (selected) { html += '<li class="' + isSelected + '" data-value="' + val + '"><a title="' + valText + '">' + valText + '</a></li>'; $(that).find('.filter-title').val(valText); } else if (disabled) { html += '<li class="' + isDisabled + '" data-value="' + val + '"><a>' + valText + '</a></li>'; } else { html += '<li data-value="' + val + '"><a title="' + valText + '">' + valText + '</a></li>'; } ; }); html += '</ul>'; $(that).append(html); $(that).find('select').hide(); $(that).on('click', '.filter-text', function() { $(that).find('.filter-list').slideToggle(100); $(that).find('.filter-list').toggleClass('filter-open'); $(that).find('.icon-filter-arrow').toggleClass('filter-show'); }); $(that).find('.filter-list li').not('.filter-disabled').on('click', function() { var val = $(this).data('value'); var valText = $(this).find('a').html(); $(that).find('.filter-title').val(valText); $(that).find('.icon-filter-arrow').toggleClass('filter-show'); $(this).addClass('filter-selected').siblings().removeClass('filter-selected'); $(this).parent().slideToggle(50); for (var i = 0; i < selectList.length; i++) { var selectVal = selectList.eq(i).val(); if (val == selectVal) { $(that).find('select').val(val); } ; } ;ops.callBack(val); }); $(document).on('mousedown', function(e) { closeSelect(that, e); }); $(document).on('touchstart', function(e) { closeSelect(that, e); }); function closeSelect(that, e) { var filter = $(that).find('.filter-list') , filterEl = $(that).find('.filter-list')[0]; var filterBoxEl = $(that)[0]; var target = e.target; if (filterEl !== target && !$.contains(filterEl, target) && !$.contains(filterBoxEl, target)) { filter.slideUp(50); $(that).find('.filter-list').removeClass('filter-open'); $(that).find('.icon-filter-arrow').removeClass('filter-show'); } ; } } ; </script> <script type="text/javascript"> //本小插件支持移动端哦 </script> <script> $(document).ready(function(){ //下拉组件 $('.filter-box1').selectFilter({ callBack : function (val){ //返回选择的值 //document.getElementById("j_qudao").setAttribute("data-val",val) console.log(val+'-是返回的值') } }); //下拉组件 $('.filter-box2').selectFilter({ callBack : function (val){ //返回选择的值 //document.getElementById("j_qudao").setAttribute("data-val",val) console.log(val+'-是返回的值') } }); //查询点击 $("#j_searchtask").on("click",function(){ var qudao_val=$("#j_qudao").attr("data-val");//渠道 var qudao_val2=$("#j_qudao2").attr("data-val");//渠道 alert("值-----:"+qudao_val); alert("值-----:"+qudao_val2); }); }); </script> </body> </html>
水波纹
!function(t, e) { "use strict"; if (void 0 === n || !n) var n = function(t) { var e = { opacity: .5, speed: .6, bgColor: "#ffffff", cursor: !0 }; this.option = this.extend(t, e), this.isltIE9() || this.init() }; n.prototype = { createEle: function(t) { return e.createElement(t) }, extend: function(t, e) { var n = JSON.parse(JSON.stringify(e)); for (var i in t) n[i] = t[i]; return n }, isltIE9: function() { return !!/MSIE6.0|MSIE7.0|MSIE8.0|MSIE9.0/i.test(navigator.userAgent.split(";")[1].replace(/[ ]/g, "")) }, getPosition: function(t) { var e = this.getBoundingClientRect() , n = Math.max(e.width, e.height); return { range: n, x: t.clientX - e.left - n / 2, y: t.clientY - e.top - n / 2 } }, loadCss: function() { var t = e.scripts , n = t[t.length - 1].src , i = n.substring(0, n.lastIndexOf("/") + 1); e.head.appendChild(function() { var t = e.createElement("link"); return t.href = i + "need/ripple.css", t.type = "text/css", t.rel = "styleSheet", t.id = "ripplecss", t }()) }, addEvent: function() { for (var t = this, n = 0; n < this.elements.length; n++) "boolean" == typeof t.option.cursor && t.option.cursor && (this.elements[n].style.cursor = "pointer"), this.elements[n].addEventListener("mousedown", function(n) { n.stopPropagation(); var i = t.getPosition.call(this, n) , o = e.createElement("span"); o.className = "ripple", o.style.top = i.y + "px", o.style.left = i.x + "px", o.style.width = i.range + "px", o.style.height = i.range + "px", o.style.animationDuration = t.option.speed + "s", o.style.background = t.option.bgColor, o.style.opacity = t.option.opacity, o.addEventListener("animationend", function() { this.parentNode.removeChild(this) }, !1), this.appendChild(o) }, !1) } }, n.prototype.init = function() { this.loadCss(); var n = this; t.onload = function() { n.elements = e.querySelectorAll('[data-ripple="ripple"]'), n.addEvent() } } , t.Ripple = n }(window, document);
css
[data-ripple=ripple] { position: relative; overflow: hidden; -webkit-user-select: none; -moz-webkit-user-select: none; -ms-user-select: none } [data-ripple=ripple] .ripple { display: block; width: 100%; height: 100%; border-radius: 100%; position: absolute; top: 0; left: 0; z-index: 888; background: rgba(255,255,255,.5); transform: scale(0); animation: ripple .6s 0s linear } @keyframes ripple { 100% { opacity: 0; transform: scale(2.5) } }
效果
<!DOCTYPE html> <html lang="en"> <head> <title>Demo</title> <meta charset="UTF-8"> <meta name="viewport" content="initial-scale=1, maximum-scale=1, minimum-scale=1, user-scalable=no"> <style type="text/css"> *{ margin:0; padding: 0; } div,a,button,h1{ background: blue; height: 50px; line-height: 50px; color: #fff; text-align: center; width: 200px; margin: 5px; border-radius: 5px; font-size:14px ; font-family: "微软雅黑","Arial Narrow" } a{ display: block; } </style> </head> <body> <div data-ripple="ripple"> div标签 </div> <a data-ripple="ripple"> a标签 </a> <button data-ripple="ripple"> button标签 </button> <h1 data-ripple="ripple"> h1标签 </h1> </body> </html> <script src="ripple.min.js" charset="UTF-8"></script> <script type="text/javascript"> new Ripple({ opacity : 0.6, //水波纹透明度 speed : 1, //水波纹扩散速度 bgColor : "#fff", //水波纹颜色 cursor : true //是否显示手型指针 }) </script>
摇一摇 函数
/* * Author: Alex Gibson * https://github.com/alexgibson/shake.js * License: MIT license */ (function(global, factory) { if (typeof define === 'function' && define.amd) { define(function() { return factory(global, global.document); }); } else if (typeof module !== 'undefined' && module.exports) { module.exports = factory(global, global.document); } else { global.Shake = factory(global, global.document); } } (typeof window !== 'undefined' ? window : this, function (window, document) { 'use strict'; function Shake(options) { //feature detect this.hasDeviceMotion = 'ondevicemotion' in window; this.options = { threshold: 15, //default velocity threshold for shake to register timeout: 1000 //default interval between events }; if (typeof options === 'object') { for (var i in options) { if (options.hasOwnProperty(i)) { this.options[i] = options[i]; } } } //use date to prevent multiple shakes firing this.lastTime = new Date(); //accelerometer values this.lastX = null; this.lastY = null; this.lastZ = null; //create custom event if (typeof document.CustomEvent === 'function') { this.event = new document.CustomEvent('shake', { bubbles: true, cancelable: true }); } else if (typeof document.createEvent === 'function') { this.event = document.createEvent('Event'); this.event.initEvent('shake', true, true); } else { return false; } } //reset timer values Shake.prototype.reset = function () { this.lastTime = new Date(); this.lastX = null; this.lastY = null; this.lastZ = null; }; //start listening for devicemotion Shake.prototype.start = function () { this.reset(); if (this.hasDeviceMotion) { window.addEventListener('devicemotion', this, false); } }; //stop listening for devicemotion Shake.prototype.stop = function () { if (this.hasDeviceMotion) { window.removeEventListener('devicemotion', this, false); } this.reset(); }; //calculates if shake did occur Shake.prototype.devicemotion = function (e) { var current = e.accelerationIncludingGravity; var currentTime; var timeDifference; var deltaX = 0; var deltaY = 0; var deltaZ = 0; if ((this.lastX === null) && (this.lastY === null) && (this.lastZ === null)) { this.lastX = current.x; this.lastY = current.y; this.lastZ = current.z; return; } deltaX = Math.abs(this.lastX - current.x); deltaY = Math.abs(this.lastY - current.y); deltaZ = Math.abs(this.lastZ - current.z); if (((deltaX > this.options.threshold) && (deltaY > this.options.threshold)) || ((deltaX > this.options.threshold) && (deltaZ > this.options.threshold)) || ((deltaY > this.options.threshold) && (deltaZ > this.options.threshold))) { //calculate time in milliseconds since last shake registered currentTime = new Date(); timeDifference = currentTime.getTime() - this.lastTime.getTime(); if (timeDifference > this.options.timeout) { window.dispatchEvent(this.event); this.lastTime = new Date(); } } this.lastX = current.x; this.lastY = current.y; this.lastZ = current.z; }; //event handler Shake.prototype.handleEvent = function (e) { if (typeof (this[e.type]) === 'function') { return this[e.type](e); } }; return Shake; }));
其他
360 科学技术
<!doctype html> <html lang="zh-cn"> <head> <meta charset="utf-8"> <meta http-equiv="x-ua-compatible" content="ie=edge,chrome=1"> <title>主页</title> <meta name="viewport" content="width=device-width,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no" /> <link rel="stylesheet" href="css/tabris.css"> <link rel="stylesheet" href="css/lib.css"> </head> <body> <div class="bg0 pa"> <div class="bg1"></div> </div> <div class="hx-box pa"> <ul class="pr"> <li class="hx-k1 pa0"> <span></span> </li> <li class="hx-k2 pa0"> <span></span> </li> <li class="hx-k3 pa0"> <span></span> </li> </ul> </div> </body> </html>
@charset 'utf-8';article,aside,details,figcaption,figure,footer,header,hgroup,hr,main,menu,nav,section,summary { display: block } hr,img { border: 0 } pre,textarea { overflow: auto } hr,legend,td,th { padding: 0 } html { font-family: sans-serif; -ms-text-size-adjust: 100%; -webkit-text-size-adjust: 100% } body { color: #333; font-size: 1em; line-height: 1.42857143; font-family: Helvetica,hiragino sans gb,microsoft yahei,微软雅黑,Arial,sans-serif } body,form,h1,h2,h3,h4,h5,h6,ol,p,ul { margin: 0 } ol,ul { padding-left: 0; list-style-type: none } h1,h2,h3,h4,h5,h6 { font-size: 1em; font-weight: 400 } a { text-decoration: none; background-color: transparent; color: inherit } a:active,a:hover { outline: 0 } li { list-style: none } audio,canvas,progress,video { display: inline-block; vertical-align: baseline } .vm,audio,canvas,iframe,img,svg,video { vertical-align: middle } audio:not([controls]) { display: none; height: 0 } [hidden],template { display: none } abbr[title] { border-bottom: 1px dotted } b,optgroup,strong { font-weight: 700 } dfn { font-style: italic } mark { background: #ff0; color: #000 } small { font-size: 80% } sup { top: -.5em } sub { bottom: -.25em } svg:not(:root) { overflow: hidden } figure { margin: 1em 40px } hr { height: 1px; border-top: 1px solid #ccc; margin: 1em 0 } code,kbd,pre,samp { font-family: monospace,monospace; font-size: 1em } button,input,optgroup,select,textarea { color: inherit; font: inherit; margin: 0 } button { overflow: visible } button,select { text-transform: none } button,html input[type=button],input[type=reset],input[type=submit] { -webkit-appearance: button; cursor: pointer } button[disabled],html input[disabled] { cursor: default } button::-moz-focus-inner,input::-moz-focus-inner { border: 0; padding: 0 } input { line-height: normal } input[type=checkbox],input[type=radio] { box-sizing: border-box; padding: 0 } input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button { height: auto } input[type=search] { -webkit-appearance: textfield; box-sizing: content-box } input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration { -webkit-appearance: none } fieldset { border: 1px solid silver; margin: 0 2px; padding: .35em .625em .75em } legend { border: 0 } textarea { resize: vertical } table { border-collapse: collapse; border-spacing: 0 } ::-moz-selection { background: #b3d4fc; text-shadow: none } ::selection { background: #b3d4fc; text-shadow: none } .browserupgrade { margin: .2em 0; background: #ccc; color: #000; padding: .2em 0 } .dv { border: 0; clip: rect(0 0 0 0); height: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute; width: 1px } .dv.dvv:active,.dv.dvv:focus { clip: auto; height: auto; margin: 0; overflow: visible; position: static; width: auto } .dn { display: none } .db { display: block } .fix:after,.fix:before { content: " "; display: table } .fix:after { clear: both } .fl { float: left } .fr { float: right } .pr { position: relative } .pa,.pa0 { position: absolute } .pa0 { left: 0; top: 0 } .oh { overflow: hidden } .wh { width: 100%; height: 100% } .bo { border: 1px solid red } .mg { margin-left: auto; margin-right: auto } .tc { text-align: center } .wp { margin: 0 auto } *,:after,:before { -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box } @charset 'utf-8';html { width: 100%; height: 100% } body { width: 100%; height: 100%; overflow: hidden; background-image: -webkit-linear-gradient(90deg,#395ecb 0%,#3657be 35%,#242161 75%,#1a0531 100%); background-image: -moz-linear-gradient(90deg,#395ecb 0%,#3657be 35%,#242161 75%,#1a0531 100%); background-image: -ms-linear-gradient(90deg,#395ecb 0%,#3657be 35%,#242161 75%,#1a0531 100%); background-image: linear-gradient(0deg,#395ecb 0%,#3657be 35%,#242161 75%,#1a0531 100%); perspective: 1e3px } .bg0 { width: 500px; height: 500px; top: 50%; left: 50%; transform: translate(-50%,-50%); background: url(../images/bg0.png) no-repeat center center; background-size: 150% } .bg1 { width: 100%; height: 100%; background: url(../images/bg1.png) no-repeat center center } .hx-box { top: 50%; left: 50%; width: 500px; height: 500px; transform-style: preserve-3d; transform: translate(-50%,-50%) rotateY(75deg) } .hx-box ul { width: 500px; height: 500px; transform-style: preserve-3d; animation: hxz 20s linear infinite } @keyframes hxz { 0% { transform: rotateX(0deg) } 100% { transform: rotateX(-360deg) } } .hx-box ul li { width: 500px; height: 500px; border: 4px solid #5ec0ff; border-radius: 1e3px } .hx-box ul li span { display: block; width: 100%; height: 100%; background: url(../images/hx.png) no-repeat center center; background-size: 100% 100%; animation: hx 4s linear infinite } @keyframes hx { to { transform: rotate(360deg) } } .hx-k2 { transform: rotateX(60deg) rotateZ(60deg) } .hx-k3 { transform: rotateX(-60deg) rotateZ(-60deg) }
无缝轮播
//兼容各种浏览器 $(function(){ var w=630; var l=0; var timer=null; var len=$("ul li").length*2; //复制了一份图片,长度变了。 //复制一份图片,是为了解决第一张图片切换到最后一张或 最后一张切换到第一张时,图片区域会出现空白,用户体验不友好。 // 页面一加载,就把ul定位到追加图片的第一张(本身图片在前,追加图片在后。) //当图片位置到第一份图片第二张时,马上把图片定位到第二份的第一张,图片位置到最后一张时(第二份最后一张)时,就把图片定位到第一份最后一张, //这样图片后面或前面还有一张图片,切换时不会留下空白。(关键之处) //加载后图片排列像这样:1 2 3 4 5 1 2 3 4 5 $("ul").append($("ul").html()).css({'width':len*w, 'left': -len*w/2}); //自动每8秒切换一次 timer=setInterval(init,8000); function init(){ $(".scroll .next").trigger('click'); //当页面一加载就触发next按钮的点击事件,用trigger的好处是减少重复代码,如果不用,就要把按钮click事件里代码全部复制过来,因为加载的代码和点击next按钮代码和效果相同,所以就用trigger触发执行click里面代码。 } $("ul li").hover(function(){ clearInterval(timer); },function(){ timer=setInterval(init,8000); }); $(".prev").click(function(){ l=parseInt($("ul").css("left"))+w; //这里要转成整数,因为后面带了px单位 showCurrent(l); }); $(".next").click(function(){ l=parseInt($("ul").css("left"))-w; //这里要转成整数,因为后面带了px单位 showCurrent(l); }); function showCurrent(l){ //把图片的左右切换封装成一个函数 if($("ul").is(':animated')){ //当ul正在执行动画的过程中,阻止执行其它动作。关键之处,不然图片切换显示不完全,到最后图片空白不显示。 return; } $("ul").animate({"left":l},500,function(){ if(l==0){ //当图片位置到第一份图片第二张时,马上把图片定位到第二份的第一张。注意这里的设置的css一定到写在animate动画完成时的执行 //函数里。否则图片只是一瞬间回到第一张,但是没有向右的动画效果。 我在做的时候,用的不是css,而是用animate()定位到第二个第一张,结果切换时,是反方向的运动,一直觉得无论怎样,图片方向都会发生变化 ,弄得花了一天时间才找到原因,所以一定 要用css。 $("ul").css("left",-len*w/2); }else if(l==(1-len)*w){ //图片位置到最后一张时(第二份最后一张)时,就把图片定位到第一份最后一张。从而显示的是第一份最后一张。 $("ul").css('left',(1-len/2)*w); } }); } });
无缝文字上下
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>实现无缝上下滚动</title> <link href="css/usually.css" type="text/css" rel="stylesheet" /> <script src="js/jquery-1.10.2.min.js"></script> </head> <body> <p class="back"><a href="index.html">返回首页>></a></p> <style> .list_top{width:280px; height:100px; overflow:hidden; border:1px solid #ddd; padding:10px;} .list_ul li{height:30px; line-height:30px;} </style> <div class="list_top"> <ul class="clearfix list_ul"> <li>111</li> <li>222</li> <li>333</li> </ul> </div> <script> (function($){ $.fn.extend({ slideFn:function(options){ var defaults = { isTop:true,//是否 slideTimer:"1000" }; var options = $.extend(defaults,options); this.each(function(){ var o = options; var obj = $(this); var oUl = obj.find("ul:first"); var oLi = $("li",oUl); var Timer; obj.hover(function(){ clearInterval(Timer); },function(){ Timer = setInterval(function(){ if(o.isTop==true){ slideTop(oUl); }else{ slideLeft(oUl); } }, o.slideTimer ) }).trigger("mouseleave"); var slideTop = function(box){ var oLiHeight = box.find("li:first").height(); box.animate({"marginTop":-oLiHeight+"px"},800,function(){ box.css("marginTop",0).find("li:first").appendTo(box); }) };//上滚 var slideLeft = function(box2){ box2.css("width",((oLi.width())*(oLi.length))+"px"); var oLiWidth = box2.find("li:first").width(); box2.animate({"marginLeft":-oLiWidth+"px"},800,function(){ box2.css("marginLeft",0).find("li:first").appendTo(box2); }) };//左滚 }) } }) })(jQuery); //实现无缝上下滚动 无缝左右滚动-------------------------------------------------------------- $(".list_top").slideFn(); </script> </body> </html>