標籤:for == play auto direction 自己的 back article setting
(function($) {
//1、設定預設資訊
//2、設定空的配置資訊
//3、設定核心執行函數,包括配置資訊的繼承,元素的建立,功能函數的執行。
//4、通過擴充項物件外掛程式的方法對外提供函數介面
var defaults = {
//1、設定預設資訊
};
var settings = {};//2、設定空的配置資訊
//3、設定核心執行函數,包括配置資訊的繼承,元素的建立,功能函數的執行。
var This = null;//設定全域的This
function FnExe(options) {
This = this;//在目標對象下賦值
settings = $.extend(settings,defaults,option);//配置資訊的繼承
Create();//元素的建立
Fn();//功能函數
}
function Create() {}//建立的時候通過配置參數的資料對建立的元素進行渲染
function Fn() {}
$.fn.extend({//通過擴充項物件外掛程式的方法對外提供介面函數
FnExe : FnExe
});
}(jQuery);
//自己配置函數部分:
$(function() {
$("#id").FnExe({
//自己配置資訊。
});
});
================demo================
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta content="width=device-width,initial-scale=1" name="viewport">
<title>Tab_test</title>
<style>
body{padding: 0;margin: 0;}
.btns{
width: 100%;
height: 3rem;
line-height: 3rem;
display: flex;
flex-direction: row;
justify-content: space-around;
}
.btn{
width: 33%;
text-align: center;
}
.active{
background: deepskyblue;
color: white;
}
.conts{
width: 100%;
height: auto;
}
.cont{
height: 40rem;
display: none;
}
</style>
</head>
<body>
<article id="Tab">
<!--<section class="btns">-->
<!--<div class="btn active">按鈕1</div>-->
<!--<div class="btn">按鈕2</div>-->
<!--<div class="btn">按鈕3</div>-->
<!--</section>-->
<!--<aside class="conts">-->
<!--<div class="cont">按鈕1的內容</div>-->
<!--<div class="cont">按鈕2的內容</div>-->
<!--<div class="cont">按鈕3的內容</div>-->
<!--</aside>-->
</article>
<script src="../lib/scripts/jquery-1.12.4.js"></script>
<script>
$(function() {//通過外掛程式提供的介面做自己的配置參數
$(‘#Tab‘).FnTabExe({
btn : [‘體育‘,‘娛樂‘,‘新聞‘,‘視頻‘,‘關於我們‘],
cont : [‘體育11111111‘,‘娛樂123123123‘,‘新聞fffffff‘,‘視頻ffffffggggg‘,‘關於我們123‘],
event : ‘mouseover‘
});
});
(function($) {
//1、置預設資訊
//2、配置資訊
//3、核心執行函數,包括建立函數,功能函數等
//4、通過$.fn.extend(),基於對象的擴充,提供對外擴充的函數介面
var defaults = {//1、置預設資訊
btn : ["導航一","導航二","導航三"],
cont : ["導航一的內容","導航二的內容","導航三的內容"],
event : "click"
};
var settings = {};//2、配置資訊
var $This = null;
function FnTabExe(options) {//3、核心執行函數,包括建立函數,功能函數等
$This = this;
settings = $.extend(settings,defaults,options);
Create();
FnTab();
}
function Create() {
var $section = $("<section>");
$section.addClass("btns");
$This.append($section);
for(var i = 0; i < settings.btn.length;i++) {
var $btn = $("<div>"+settings.btn[i]+"</div>");
$btn.addClass("btn");
if(i==0) {
$btn.addClass("active");
}
$section.append($btn);
}
var $aside = $("<aside>");
$aside.addClass("conts");
$This.append($aside);
for(var i = 0;i < settings.cont.length;i++) {
var $cont = $("<div class=‘cont‘>"+settings.cont[i]+"</div>");
if(i==0) {
$cont.css("display","block");
}
$aside.append($cont);
}
}
function FnTab() {
$This.find(".btn").on(settings.event,function() {
$This.find(".btn").removeClass("active");
$(this).addClass("active");
$This.find(".cont").css("display","none");
$This.find(".cont").eq( $(this).index() ).css("display","block");
});
}
$.fn.extend({//4、通過$.fn.extend(),基於對象的擴充,提供對外擴充的函數介面
FnTabExe : FnTabExe
});
})(jQuery);
</script>
</body>
</html>
基於jQuery的外掛程式開發