本文實例講述了jQuery簡單自訂圖片輪播插件及用法。分享給大家供大家參考,具體如下:
經常使用別人的插件,現在自己寫一個,紀念一下。
jQuery.banner.js:
/* * banner 0.1 * 使用banner 实现图片定时切换 鼠标经过停止动画 * 鼠标离开,继续动画 */ ;(function($){ $.fn.banner =function(options){ //各种属性和参数 var defaults ={ picWidth:"1000", picHeight:"300", speed:"1500" }; var totalW = 0; //保存总的动画宽度 var timer = null; //保存定时器 var current = 0; //保存当前动画到第N张图,下次从这里开始 var totalNum = 0; //保存总的图数 var Dsqtime = 0; //定义定时器时间 【外传参数】 var Dhtime = 0; //定义动画时间 var count = 0 ; //合并多个对象为一个,即有新参数 用新的,否则用默认的 var options = $.extend(defaults, options); this.each(function(){ //实现代码 var __this = $(this); Dsqtime = options.speed; Dhtime = Dsqtime/3; //初始化 init(__this); //调用动画 show(__this, options.picWidth,current); //鼠标经过时事件 __this.find('ul li').bind('mouseover',function(){ window.clearInterval(timer); //清除定时器 }); __this.find('ul li').bind('mouseout',function(){ show(__this, options.picWidth,current); //接着上一次动画轮播 }); }); //初始化 设定父容器宽度 function init(obj){ obj.find('ul li').each(function(){ totalW += $(this).width(); totalNum++; }); obj.find('ul').width(totalW); } //开始动画显示 function show(obj, width, current){ timer = setInterval(function(){ obj.find('ul').animate({'margin-left':'-'+count*width+'px'}, Dhtime); current = count; count++; if(count == totalNum){ count =0; } }, Dsqtime); } }; })(jQuery);
html程式碼:
<!doctype html> <html> <head> <meta charset="utf8"/> <script type="text/javascript" src="./js/jquery.min.js"></script> <script type="text/javascript" src="./js/jquery.banner.js"></script> <script type="text/javascript"> $(document).ready(function(){ $('.wrap').banner({ picWidth:"1000", picHeight:"300", speed:"6000" }); }); </script> <style type="text/css"> *{margin:0;padding:0;} .wrap{width:1000px; height:300px; overflow:hidden; margin:0 auto;} .wrap ul li{float:left; list-style:none;} .wrap ul li img{width:1000px;height:300px;} .clear{clear: both;} </style> </head> <body> <div> <div class="wrap"> <ul> <li><a href="#"><img src="/static/imghwm/default1.png" data-src="./images/1.jpg" class="lazy" / alt="jQuery簡單自訂圖片輪播外掛及用法範例" ></a></li> <li><a href="#"><img src="/static/imghwm/default1.png" data-src="./images/2.jpg" class="lazy" / alt="jQuery簡單自訂圖片輪播外掛及用法範例" ></a></li> <li><a href="#"><img src="/static/imghwm/default1.png" data-src="./images/3.jpg" class="lazy" / alt="jQuery簡單自訂圖片輪播外掛及用法範例" ></a></li> <li><a href="#"><img src="/static/imghwm/default1.png" data-src="./images/4.jpg" class="lazy" / alt="jQuery簡單自訂圖片輪播外掛及用法範例" ></a></li> <li><a href="#"><img src="/static/imghwm/default1.png" data-src="./images/5.jpg" class="lazy" / alt="jQuery簡單自訂圖片輪播外掛及用法範例" ></a></li> </ul> <div class="clear"></div> </div> </div> </body> </html>
效果圖:

实现方法:1、用“$("img").delay(毫秒数).fadeOut()”语句,delay()设置延迟秒数;2、用“setTimeout(function(){ $("img").hide(); },毫秒值);”语句,通过定时器来延迟。

修改方法:1、用css()设置新样式,语法“$(元素).css("min-height","新值")”;2、用attr(),通过设置style属性来添加新样式,语法“$(元素).attr("style","min-height:新值")”。

区别:1、axios是一个异步请求框架,用于封装底层的XMLHttpRequest,而jquery是一个JavaScript库,只是顺便封装了dom操作;2、axios是基于承诺对象的,可以用承诺对象中的方法,而jquery不基于承诺对象。

增加元素的方法:1、用append(),语法“$("body").append(新元素)”,可向body内部的末尾处增加元素;2、用prepend(),语法“$("body").prepend(新元素)”,可向body内部的开始处增加元素。

在jquery中,apply()方法用于改变this指向,使用另一个对象替换当前对象,是应用某一对象的一个方法,语法为“apply(thisobj,[argarray])”;参数argarray表示的是以数组的形式进行传递。

删除方法:1、用empty(),语法“$("div").empty();”,可删除所有子节点和内容;2、用children()和remove(),语法“$("div").children().remove();”,只删除子元素,不删除内容。

on()方法有4个参数:1、第一个参数不可省略,规定要从被选元素添加的一个或多个事件或命名空间;2、第二个参数可省略,规定元素的事件处理程序;3、第三个参数可省略,规定传递到函数的额外数据;4、第四个参数可省略,规定当事件发生时运行的函数。

去掉方法:1、用“$(selector).removeAttr("readonly")”语句删除readonly属性;2、用“$(selector).attr("readonly",false)”将readonly属性的值设置为false。


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

SAP NetWeaver Server Adapter for Eclipse
將Eclipse與SAP NetWeaver應用伺服器整合。

Dreamweaver CS6
視覺化網頁開發工具

Safe Exam Browser
Safe Exam Browser是一個安全的瀏覽器環境,安全地進行線上考試。該軟體將任何電腦變成一個安全的工作站。它控制對任何實用工具的訪問,並防止學生使用未經授權的資源。

WebStorm Mac版
好用的JavaScript開發工具

SecLists
SecLists是最終安全測試人員的伙伴。它是一個包含各種類型清單的集合,這些清單在安全評估過程中經常使用,而且都在一個地方。 SecLists透過方便地提供安全測試人員可能需要的所有列表,幫助提高安全測試的效率和生產力。清單類型包括使用者名稱、密碼、URL、模糊測試有效載荷、敏感資料模式、Web shell等等。測試人員只需將此儲存庫拉到新的測試機上,他就可以存取所需的每種類型的清單。