jQuery是一種常用的JS庫,可以方便地實現網頁交互。其中,iframe tab是一種常見的網頁布局方式。下面,我們將通過使用jQuery iframe tab來介紹如何實現此布局。
//引入jQuery庫 <script src="https://cdn.bootcdn.net/ajax/libs/jquery/3.6.0/jquery.min.js"></script> <script> //定義變量獲取需要用到的元素 var tabTitle = $('#tab-title'); var tabContent = $('#tab-content'); //點擊tab標題時,顯示對應的內容 tabTitle.on('click', 'li', function() { var _this = $(this); var index = _this.index(); //添加選中樣式 _this.addClass('active').siblings().removeClass('active'); //顯示對應的內容 tabContent.find('iframe').eq(index).show().siblings().hide(); }); //添加新tab function addTab(title, url) { //檢查是否已經打開了相同的tab if (tabTitle.find('li[title="' + title + '"]').length) { //如果已經打開,則選中此tab tabTitle.find('li[title="' + title + '"]').addClass('active').siblings().removeClass('active'); var index = tabTitle.find('li[title="' + title + '"]').index(); tabContent.find('iframe').eq(index).attr('src', url); } else { //如果沒有打開,則新建一個tab var newTabTitle = $('<li/>').attr('title', title).addClass('active').html(title + '<i class="close"></i>'); var newTabContent = $('<div/>').addClass('tab-pane').html('<iframe src="' + url + '"/>'); tabTitle.append(newTabTitle); tabContent.append(newTabContent); //關閉tab newTabTitle.find('i.close').on('click', function() { var _this = $(this).parent(); var index = _this.index(); //移除tab和內容 _this.remove(); tabContent.find('iframe').eq(index).remove(); //如果關閉的是當前選中的tab,則選中它的左邊或右邊tab if (_this.hasClass('active')) { if (tabTitle.children().eq(index - 1).length) { tabTitle.children().eq(index - 1).addClass('active'); tabContent.find('iframe').eq(index - 1).show(); } else { tabTitle.children().eq(index).addClass('active'); tabContent.find('iframe').eq(index).show(); } } }); } } //使用示例 $(document).ready(function() { //添加tab addTab('百度', 'https://www.baidu.com'); addTab('新浪', 'https://www.sina.com'); }); </script>
以上代碼中,addTab函數用來添加新的tab,首先檢查是否已經打開了相同的tab,如果已經打開,則選中此tab;如果沒有打開,則新建一個tab。關閉tab時,如果關閉的是當前選中的tab,則選中它的左邊或右邊tab。
通過使用jQuery iframe tab,我們可以方便地實現網頁布局,提升用戶體驗。