ECSHOP中製作登入彈窗框

2021-07-28 08:48:12 字數 4178 閱讀 9508

在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屬性就可以搞定。瞬間感覺自己知道的真是太少了 首先回憶一下彈窗的實現,一般...