Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537
HTML代碼(wxml)
{{item.name}}
CSS(less):
.nav-bar{ position: relative; z-index: 10; height: 90upx; white-space: nowrap; background-color: #fbfbfb; .nav-item{ display: inline-block; width: 150upx; height: 90upx; text-align: center; line-height: 90upx; font-size: 30upx; color: #a4a4a4; position: relative; } .current{ color: #3f3f3f; font-weight: bold; } }
實現效果大致為這樣的:
PS: 以上為純CSS實現部分,如果項目 tab數量 為通過接口動態獲取的,可以適當加入一些 js 計算。
JS 思路:
大致為(以微信小程序為例):
let width=0; // 當前選中選項卡及它之前的選項卡之和總寬度 let nowWidth=0; // 當前選項卡的寬度 //獲取可滑動總寬度 for (let i=0; i <=index; i++) { let result=await this.getElSize('tab' + i); width +=result.width; if(i===index){ nowWidth=result.width; } } // console.log(width, nowWidth, windowWidth) //等待swiper動畫結束再修改tabbar this.$nextTick(()=> { if (width - nowWidth/2 > windowWidth / 2) { //如果當前項越過中心點,將其放在屏幕中心 this.scrollLeft=width - nowWidth/2 - windowWidth / 2; console.log(this.scrollLeft) }else{ this.scrollLeft=0; } if(typeof e==='object'){ this.tabCurrentIndex=index; } this.tabCurrentIndex=index; })
ps: getElSize() 函數代碼為:
getElSize(id) { return new Promise((res, rej)=> { let el=uni.createSelectorQuery().select('#' + id); el.fields({ size: true, scrollOffset: true, rect: true }, (data)=> { res(data); }).exec(); }); },
這樣就可以實現動態 tab 切換了:
插件安裝方式,ctrl+shift+p輸入install packages
CSS3:支持CSS3里的語法高亮。(Sublime3里自帶的CSS高亮不夠用)。安裝后, 打開一個CSS文件,然后按照下面GIF操作,將CSS3高亮作為CSS文件的默認高亮。
livestyle:調試后實時更新頁面。安裝這個還需要安裝谷歌的插件。
Emmet:快速生成代碼,用過h5build的應該知道。ul*li*3相當于:
<ul><li></li><li></li><li></li></ul>
記下語法就ok.
ConvertToUTF8:編碼轉utf8
CSScomb:css屬性排序
html5:html規范包,輸入html+tab生成html規范文檔
Alignment:代碼對齊,快捷鍵ctrl alt a
Autoprefixer插件:css3私有前綴自動補全插件
AutoFileName:自動完成文件名的輸入,如圖片選取,快捷輸入文件名路徑補全
less sass插件
JsFormat js格式化插件
Terminal 命令行插件
Minify 代碼美化壓縮插件
Color Highlighter 顏色選擇插件
Ctrl+D 選中光標所占的文本,繼續操作則會選中下一個相同的文本。
Alt+F3 選中文本按下快捷鍵,即可一次性選擇全部的相同文本進行同時編輯。舉個栗子:快速選中并更改所有相同的變量名、函數名等。
Ctrl+L 選中整行,繼續操作則繼續選擇下一行,效果和 Shift+↓ 效果一樣。
Ctrl+Shift+L 先選中多行,再按下快捷鍵,會在每行行尾插入光標,即可同時編輯這些行。
Ctrl+Shift+M 選擇括號內的內容(繼續選擇父括號)。舉個栗子:快速選中刪除函數中的代碼,重寫函數體代碼或重寫括號內里的內容。
Ctrl+M 光標移動至括號內結束或開始的位置。
Ctrl+Enter 在下一行插入新行。舉個栗子:即使光標不在行尾,也能快速向下插入一行。
Ctrl+Shift+Enter 在上一行插入新行。舉個栗子:即使光標不在行首,也能快速向上插入一行。
Ctrl+Shift+[ 選中代碼,按下快捷鍵,折疊代碼。
Ctrl+Shift+] 選中代碼,按下快捷鍵,展開代碼。
Ctrl+K+0 展開所有折疊代碼。
Ctrl+← 向左單位性地移動光標,快速移動光標。
Ctrl+→ 向右單位性地移動光標,快速移動光標。
shift+↑ 向上選中多行。
shift+↓ 向下選中多行。
Shift+← 向左選中文本。
Shift+→ 向右選中文本。
Ctrl+Shift+← 向左單位性地選中文本。
Ctrl+Shift+→ 向右單位性地選中文本。
Ctrl+Shift+↑ 將光標所在行和上一行代碼互換(將光標所在行插入到上一行之前)。
Ctrl+Shift+↓ 將光標所在行和下一行代碼互換(將光標所在行插入到下一行之后)。
Ctrl+Alt+↑ 向上添加多行光標,可同時編輯多行。
Ctrl+Alt+↓ 向下添加多行光標,可同時編輯多行。
Ctrl+J 合并選中的多行代碼為一行。舉個栗子:將多行格式的CSS屬性合并為一行。
Ctrl+Shift+D 復制光標所在整行,插入到下一行。
Tab 向右縮進。
Shift+Tab 向左縮進。
Ctrl+K+K 從光標處開始刪除代碼至行尾。
Ctrl+Shift+K 刪除整行。
Ctrl+/ 注釋單行。
Ctrl+Shift+/ 注釋多行。
Ctrl+K+U 轉換大寫。
Ctrl+K+L 轉換小寫。
Ctrl+Z 撤銷。
Ctrl+Y 恢復撤銷。
Ctrl+U 軟撤銷,感覺和 Gtrl+Z 一樣。
Ctrl+F2 設置書簽
Ctrl+T 左右字母互換。
F6 單詞檢測拼寫
Ctrl+F 打開底部搜索框,查找關鍵字。
Ctrl+shift+F 在文件夾內查找,與普通編輯器不同的地方是sublime允許添加多個文件夾進行查找,略高端,未研究。
Ctrl+P 打開搜索框。舉個栗子:1、輸入當前項目中的文件名,快速搜索文件,2、輸入@和關鍵字,查找文件中函數名,3、輸入:和數字,跳轉到文件中該行代碼,4、輸入#和關鍵字,查找變量名。
Ctrl+G 打開搜索框,自動帶:,輸入數字跳轉到該行代碼。舉個栗子:在頁面代碼比較長的文件中快速定位。
Ctrl+R 打開搜索框,自動帶@,輸入關鍵字,查找文件中的函數名。舉個栗子:在函數較多的頁面快速查找某個函數。
Ctrl+: 打開搜索框,自動帶#,輸入關鍵字,查找文件中的變量名、屬性名等。
Ctrl+Shift+P 打開命令框。場景栗子:打開命名框,輸入關鍵字,調用sublime text或插件的功能,例如使用package安裝插件。
Esc 退出光標多行選擇,退出搜索框,命令框等。
Ctrl+Tab 按文件瀏覽過的順序,切換當前窗口的標簽頁。
Ctrl+PageDown 向左切換當前窗口的標簽頁。
Ctrl+PageUp 向右切換當前窗口的標簽頁。
Alt+Shift+1 窗口分屏,恢復默認1屏(非小鍵盤的數字)
Alt+Shift+2 左右分屏-2列
Alt+Shift+3 左右分屏-3列
Alt+Shift+4 左右分屏-4列
Alt+Shift+5 等分4屏
Alt+Shift+8 垂直分屏-2屏
Alt+Shift+9 垂直分屏-3屏
Ctrl+K+B 開啟/關閉側邊欄。
F11 全屏模式
Shift+F11 免打擾模式
蒙 ArkTS(HarmonyOS ArkTS)是適用于鴻蒙操作系統(HarmonyOS)的 TypeScript 開發框架。在鴻蒙 ArkTS 中實現動態添加 `tabcontent` 的功能,與在 Unity 中使用 ArkTS 的過程類似,都需要通過編程來控制用戶界面的顯示。
以下是一個基于鴻蒙 ArkTS 的簡單示例,用于動態添加 `tabcontent`:
1. **定義Tab組件**:首先,你需要定義一個Tab組件,用于表示每個Tab頁。這個組件應該包含所有你希望在Tab頁上展示的內容。
2. **創建Tab容器**:在ArkTS中,你可以創建一個容器來管理所有的Tab頁面。這個容器可以是一個簡單的StackPanel或者Grid,用于排列所有的Tab內容。
3. **動態添加Tab內容**:通過編程的方式,你可以根據需要動態地創建Tab組件,并將其添加到Tab容器中。
下面是一個簡化的ArkTS TypeScript示例代碼,說明如何實現動態添加Tab內容的邏輯:
import { Component, Prop, h } from '@akeros/arkts';
@Component
export class TabContent extends HTMLElement {
@Prop() tabId: string;
@Prop() content: string;
constructor(private host: HTMLElement) {
super();
this.render();
}
render() {
this.innerHTML=`
<div class="tab-content">
<h2>${this.content}</h2>
</div>
`;
}
}
@Component
export class TabController extends HTMLElement {
private tabs: Map<string, TabContent>=new Map();
addTab(tabId: string, content: string) {
const tabContent=new TabContent(this.host);
tabContent.tabId=tabId;
tabContent.content=content;
this.tabs.set(tabId, tabContent);
this.host.appendChild(tabContent);
}
updateTab(tabId: string, newContent: string) {
const tabContent=this.tabs.get(tabId);
if (tabContent) {
tabContent.content=newContent;
tabContent.render();
}
}
removeTab(tabId: string) {
const tabContent=this.tabs.get(tabId);
if (tabContent) {
tabContent.remove();
this.tabs.delete(tabId);
}
}
}
在這個示例中,`TabContent` 組件用于表示單個Tab的內容,而 `TabController` 組件則負責管理所有的Tab頁面。`addTab` 方法用于添加新的Tab內容,`updateTab` 方法用于更新現有Tab的內容,而 `removeTab` 方法則用于刪除不再需要的Tab。
請注意,這個代碼示例是一個簡化的版本,用于說明如何在鴻蒙 ArkTS 中動態添加和更新Tab內容。在實際應用中,你可能需要根據具體的鴻蒙 ArkTS 版本和項目需求來調整代碼。
在鴻蒙 ArkTS 項目中,你可以通過調用 `TabController` 組件的方法來動態地添加、更新或刪除Tab內容,從而實現靈活的用戶界面管理。
*請認真填寫需求信息,我們會在24小時內與您取得聯系。