在ecshop的目錄/js/common.js中有乙個openspediv方法是實現ecshop的彈窗效果的。如果我們想製作乙個登入彈窗框,可以擷取這個方法裡的部分**。
//生成屬性選擇層
function openspediv(message, goods_id, parent)
else if (typeof document.compatmode != 'undefined' && document.compatmode != 'backcompat')
else if (typeof document.body != 'undefined')
var i = 0;
var sel_obj = document.getelementsbytagname('select');
while (sel_obj[i])
// 新啟用圖層
var newdiv = document.createelement("div");
newdiv.id = _id;
newdiv.style.position = "absolute";
newdiv.style.zindex = "10000";
newdiv.style.width = "300px";
newdiv.style.height = "260px";
newdiv.style.top = (parseint(scrollpos + 200)) + "px";
newdiv.style.left = (parseint(document.body.offsetwidth) - 200) / 2 + "px"; // 螢幕居中
newdiv.style.overflow = "auto";
newdiv.style.background = "#fff";
newdiv.style.border = "3px solid #59b0ff";
newdiv.style.padding = "5px";
//生成層內內容
newdiv.innerhtml = '' + select_spe + "";
for (var spec = 0; spec < message.length; spec++)
else
} newdiv.innerhtml += "";
}else
newdiv.innerhtml += "";
}} newdiv.innerhtml += "
[" + btn_buy + "] [" + is_cancel + "]";
// mask圖層
var newmask = document.createelement("div");
newmask.id = m;
newmask.style.position = "absolute";
newmask.style.zindex = "9999";
newmask.style.width = document.body.scrollwidth + "px";
newmask.style.height = document.body.scrollheight + "px";
newmask.style.top = "0px";
newmask.style.left = "0px";
newmask.style.background = "#fff";
newmask.style.filter = "alpha(opacity=30)";
newmask.style.opacity = "0.40";
}
var i = 0;
var sel_obj = document.getelementsbytagname('select');
while (sel_obj[i])
上面**是與下拉選擇框有關,去掉。
for (var spec = 0; spec < message.length; spec++)
else
} newdiv.innerhtml += "";
}else
newdiv.innerhtml += "";
}} newdiv.innerhtml += "
[" + btn_buy + "] [" + is_cancel + "]";
上面這與彈窗框裡的內容有關,也去掉。
要製作乙個登入彈窗框,我們再把需要傳入的引數去掉,改一下方法名,var _id和var m的值,然後在newdiv.innerhtml 裡面加上你想在彈窗框顯示的html**即可改寫該方法。
新方法如下:
//彈窗登入
function openlogindiv()
else if (typeof document.compatmode != 'undefined' && document.compatmode != 'backcompat')
else if (typeof document.body != 'undefined')
// 新啟用圖層
var newdiv = document.createelement("div");
newdiv.id = _id;
newdiv.style.position = "absolute";
newdiv.style.zindex = "10000";
newdiv.style.width = "300px";
newdiv.style.height = "260px";
newdiv.style.top = (parseint(scrollpos + 200)) + "px";
newdiv.style.left = (parseint(document.body.offsetwidth) - 200) / 2 + "px"; // 螢幕居中
newdiv.style.overflow = "auto";
newdiv.style.background = "#fff";
newdiv.style.border = "3px solid #59b0ff";
newdiv.style.padding = "5px";
//生成層內內容
newdiv.innerhtml = '';
// mask圖層
var newmask = document.createelement("div");
newmask.id = m;
newmask.style.position = "absolute";
newmask.style.zindex = "9999";
newmask.style.width = document.body.scrollwidth + "px";
newmask.style.height = document.body.scrollheight + "px";
newmask.style.top = "0px";
newmask.style.left = "0px";
newmask.style.background = "#fff";
newmask.style.filter = "alpha(opacity=30)";
newmask.style.opacity = "0.40";
}
然後在themes/default/library/page_header.lbi檔案上把彈窗登入按鈕顯示到你想新增的位置,加上這一**段:
彈窗登入
再修改一下樣式,讓其更漂亮。樣式修改在模板目錄themes/default/style.css。加上這一段:
#ajax_loginform
#ajax_loginform input
#ajax_loginform button
最後再寫個關閉彈窗的js事件即可。方法我寫在common.js檔案下的openlogindiv()之後
function closeloginform()
效果如圖:
ecshop後台登入繞過
這個習科上已經發過了,我這裡發一段跟習科不同的吧。這是習科發布的方法,這裡做個記錄。admin privilege.php if empty ec salt else 省略 if isset post remember hashcode hash code db getone select valu...
ecshop多賬戶登入
一 需求 ecshop自帶的登入,只支援註冊使用者名稱的登入,但是很少有使用者的準確資訊,諸如手機號碼 郵箱!的推廣又恰恰需要使用者的準備資訊,於是著手修改 的註冊和登入模式,在註冊的過程中得到使用者的準確資訊。二 修改 1.修改 的註冊模組,新增郵箱註冊 手機號碼註冊功能 並且在註冊過程中驗證手機...
炫酷彈窗效果製作
昨天在家看電視時,退出的時候發現了乙個彈窗效果,整個背景模糊,覺得這樣的效果好炫,要比純色加透明度高大上好多,連續試了幾個介面,最終確定效果由css實現的,於是今天一大早來到公司便趕緊搜尋了一下,雖然相容性奇差,但是乙個css屬性就可以搞定。瞬間感覺自己知道的真是太少了 首先回憶一下彈窗的實現,一般...