var common = require('./common');
app.use(common.activeUrl);
common.js中:
exports.activeUrl = function (req, res, next) {
res.locals.activeNav = function (nav) {
let result = '';
let _path = req.path;
if (nav == _path) {
result = 'main-active';
} else {
result = '';
}
return result;
};
next();
};
例如我用的EJS模版:
在class中呼叫方法,傳入連結位址,目的是為目前class加上自訂的選取效果,例如active
app.js中:
common.js中:
可以用css類別解決,在css裡建立current類別
點擊跳轉後給要變色的欄位設定類別名為current
提供一個思路哈。你可以給用導覽列的初始化函數傳遞一個參數,讓這個參數去區分其他選單。給那個選單實現變色
我也想到傳參來設定CSS,不過從來沒看過那個類似功能的網站URL上是帶這個參數的。
或許可以用COOKIE,點選某個導覽連線的時候設定COOKIE的值為該欄位,導覽列目前欄位連結高亮根據這個值來顯示。
感覺還是不太優雅雖然能解決,坐等其它方法。
這叫麵包屑功能,antd有類似組件 https://ant.design/components...