0

我的页面上有一个叠加层,我想为用户提供一个链接/URL,该链接/ URL 将他们直接引导到页面,并加载了叠加层。有可能做到吗?我怎么做?

这是我的代码:

$(function() {

  $('#overlay_job').click(function() {

    document.getElementById('iframe_job').src = "http://targeturl-for-my-overlay-content";

    $('#overlay_bg2').fadeIn('fast',function(){
      $('#overlay_box').fadeIn('fast');
    });
  });

  $('#boxclose').click(function() {
    $('#overlay_box').fadeOut('fast',function() {
      $('#overlay_bg2').fadeOut('fast');
    });
  });

  var overlay_bg2 = $("#overlay_box");
  //var top = $(window).scrollTop() - (overlay_bg2.outerHeight() / 2);
  var top=0;
  var left = -(overlay_bg2.outerWidth() / 2);

  overlay_bg2.css({ 'margin-top': top,'margin-left': left });

  if(getUrlVars()["openJobOverLay"] == "Y") {
         $('#overlay_job').trigger('click');
  }
});

function getUrlVars() {
  var vars = {};
  var parts = window.location.href.replace(/[?&]+([^=&]+)=([^&]*)/gi,
              function(m,key,value) {
                vars[key] = value;
              });
  return vars;
}

=========== 在页面上,用户可以单击此链接以获取显示的叠加层:

<a id="overlay_job" class="underline" href="javascript:void(0);%20opener.jobframe.location.reload();">
See job openings
</a>
<img src="link_arrow.gif" class="linkarrow">
</div>
4

1 回答 1

1

使用 CSS: 隐藏覆盖display: none;。给覆盖元素一个id,然后id像这样添加到 URL 中http://www.yourpage.com#id。然后使用jQuery做这样的事情:

$(document).ready(function(){
  if(window.location.hash) $('#' + window.location.hash).show();
});

编辑:

在您的特定情况下,将此行添加为$(document.ready();.

$(function() {

  // All of your code inside this function...

  if(window.location.hash) $('#' + window.location.hash).click();

});

function getUrlVars() { 

// Some more of your code...
于 2013-04-19T02:08:19.063 回答