如何为多个主页使用相同的子页面

时间:2012-07-12 17:01:39

标签: jquery html css

- Have 5 pages
- Each page has a link for "Sign-in/Log-in" on the topbar
- Lets say user is on "HomePage" and he clicks "Log-in" button on the topbar
- I want "Homepage" to go in background (opacity=0.2) and put the "Log-in" pop-up in front (z-index: 100)
- Same behavior is expected for all 5 pages -

我所做的是:

-----------------Page 1----------
div.HomePage
  div.accountPage
-----------------Page 2----------
div.BrowsePage
  div.accountPage
-----------------Page 3----------

...

然后我在运行时使用javascript设置opaqueness和z-index属性。我在HTML / jade中为每个主页重复了accountPage的代码5次,并且javascript代码对于这种方法看起来并不干净。

- What I want is to create a TOTALLY SEPARATE "accountPage",
- Display on it click of "Login" button.
- Find out which of the 5 main pages user was on **/* This I dont know how to do */**
- Set that main page to background with opacity = 0.2
- Popup the accountPage for Login in front.
- After Login or cancel, bring the main page (user was on), back to focus

请帮忙。

1 个答案:

答案 0 :(得分:0)

这听起来像是iframe或基于ajax的模态弹出窗口的完美候选者。 jQuery有很多可用... colorbox恰好是我最喜欢的。

以下是colorbox的工作原理:

  1. 通过CSS类定位,在登录链接上初始化colorbox。
  2. 将colorbox设置为使用'iframe',它将在弹出窗口中加载您的登录页面
  3. 如果需要,您可以将查询字符串中的当前页面传递给模态弹出窗口,然后检索它并在登录页面上处理它。例如:<a href="/Sign-in/Log-in?returnUrl=[INSERT CURRENT URL HERE]" class="modal">Sign-in</a>(注意:这可以使用window.location.href以编程方式完成,这样您就不必将当前网址硬编码到每个链接中。)
  4. 您可以使用CSS调整基础页面的“不透明度”。它实际上是一个位于页面顶部的100%高度/宽度div,然而,它会产生一种错觉,即页面被“变暗”或淡出。
  5. 关闭弹出窗口后,原始页面将重新出现在焦点上,但是,您也可以执行回调功能来刷新页面(因为用户现已登录)。