この記事では、タブ開発の簡単な例 (コード) を紹介します。必要な方は参考にしていただければ幸いです。
次のメソッドが使用されます
メソッド 1 ~ 3 で使用されるchangeTabHandle関数
//当前点击按钮的索引 function changeTabHandle(n) { for(var i=0; i<tabList.length; i++){ tabList[i].className = ''; pList[i].className = ''; } tabList[n].className = 'active'; pList[n].className = 'active'; }
カスタム属性名
//方法一:自定义属性方法 console.log(tabList); for (var i = 0;i < tabList.length; i++){ tabList[i]._f_index = i; tabList[i].onclick = function () { console.dir(this); changeTabHandle(this._f_index); } }
es6 let
//方法二:var --> let for(let i=0; i<tabList.length; i++){ tabList[i].onclick = function() { changeTabHandle(i); } }
クロージャー
方法 1:
for(var i=0; i<tabList.length; i++){ ~function (i) { tabList[i].onclick = function () { changeTabHandle(i); } }(i) }
方法 2:
for(var i=0; i<tabList.length; i++){ tabList[i].onclick = function (i) { return function() { changeTabHandle(i); } }(i) }
すべてのカスタム属性をクリアする代わりに、最後に選択した属性を記憶します
beforeIndex = 0; for(var i=0; i<tabList.length; i++){ tabList[i]._f_index = i; tabList[i].onclick = function() { tabList[beforeIndex].className = ''; pList[beforeIndex].className = ''; tabList[this._f_index].className = 'active'; pList[this._f_index].className = 'active'; beforeIndex = this._f_index; } }
最後に記憶すべてをクリアする代わりにそれが選択されたとき let
for(let i=0; i<tabList.length; i++){ tabList[i].onclick = function (params) { tabList[beforeIndex].className = ''; pList[beforeIndex].className = ''; tabList[i].className = 'active'; pList[i].className = 'active'; beforeIndex = i; } }
github サンプル コード https://github.com/fung-yu/js... Tab Chapter
##
以上がタブ開発の簡単な例(コード)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。