如何在页面加载时将附加标签加载到URL上



我知道有更有效的方法可以做到这一点,但我有这样做的理由。我有一个模式弹出窗口。我希望这个窗口在访问者加载页面时立即弹出。到目前为止,通过点击一个链接可以访问并打开该窗口,该链接将他们带到index.php#login_form.

"#login_form"是我想在页面加载时添加的URL。然后,一旦它最初加载了弹出窗口,他们就可以选择退出。

现在有没有一种方法可以更有效地做到这一点,而不必更改我的css或代码?

谢谢!

url中的hash可以通过javascript中的window.location.hash访问。你可以在身体负荷事件中判断这一点。

为了回答你的问题,我创建了一个fiddle,它以你的例子为例,解决了你想要的问题。http://jsfiddle.net/sgaurav/xA4vG/

基本上,这段代码所做的是,选择你想要模拟的点击id,然后根据这里给出的答案为点击创建一个鼠标事件。我如何模拟用户在JQuery中点击链接?

$.fn.simulateClick = function() {
    return this.each(function() {
        if('createEvent' in document) {
            var doc = this.ownerDocument,
                evt = doc.createEvent('MouseEvents');
            evt.initMouseEvent('click', true, true, doc.defaultView, 1, 0, 0, 0, 0, false, false, false, false, 0, null);
            this.dispatchEvent(evt);
        } else {
            this.click(); // IE
        }
    });
}

现在,这个代码被用于主体的onload事件,以伪造你现在使用手动点击的链接

jQuery(document).load(
    jQuery('#join_pop').simulateClick()
);

页面一打开,就会加载弹出窗口。如果你愿意,你可以将最后一段代码中的id更改为登录表单,这将开始显示在页面加载中,而不是注册。

一个简单的方法是使用标签login_form:直接加载页面

http://www.script-tutorials.com/demos/222/index.html#login_form

或者,如果你想更"精确",你可以这样使用jquery:

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
<body>
<!--Place this at the end of the body tag.-->
<script>
$(function(){
   window.location.hash = "login_form"; //this will add with js the #login_form hash at the end of th url
})
</script>


加载窗口时,可以使用jquery显示模态:试试这个代码,你就会明白:

$(function(){
   alert("Done loading");   
})

您将添加代码来显示模态而不是警报函数。如果模态是用css显示或隐藏的,你可以很容易地用将css类添加到元素中

$(".element").addClass("showModal);

或者用移除类

 $(".element").removeClass("hideModal");

请确保导入jquery库。我希望这能回答你的问题。

相关内容

  • 没有找到相关文章

最新更新