如何链接到特定的jquery函数

时间:2014-11-20 09:41:08

标签: javascript jquery

我有一个jquery菜单。例如,如果我点击"联系人"它指向#contacts 并通过jquery显示弹出窗口。这是我的代码:

$(function () {
$('#contacts').on('click', function ( e ) {
    $.fn.custombox( this, {
    effect: 'fall'
});
    e.preventDefault();
});
});

我正在尝试将联系人页面链接到其他人,但www.mysite.com/#contacts显示主页。 我如何设法实现我的目标(将简单的直接链接分发到"内部页面")?

EDIT 根据差事回答我找到了我的解决方案:

$(document).ready(function() {
switch (location.hash) {
case '#centr':
          $.fn.custombox( document.getElementById('centr'), {
    effect: 'fall'
});
    break;
case '#sxalto':
    $.fn.custombox( document.getElementById('sxalto'), {
    effect: 'fall'
});
    break;
case '#dxalto':
    $.fn.custombox( document.getElementById('dxalto'), {
    effect: 'fall'
});
    break;
case '#sxbasso':
    $.fn.custombox( document.getElementById('sxbasso'), {
    effect: 'fall'
});
    break;
case '#dxbasso':
    $.fn.custombox( document.getElementById('dxbasso'), {
    effect: 'fall'
});
    break;
case '#basso':
    $.fn.custombox( document.getElementById('basso'), {
    effect: 'fall'
});
    break;
case '#sottosotto':
    $.fn.custombox( document.getElementById('sottosotto'), {
    effect: 'fall'
});
    break;
} 
});

4 个答案:

答案 0 :(得分:0)

这是你想要的吗?

$('#contacts').on('click', function () {
    window.location.href= "www.google.com";//or any other page
});

答案 1 :(得分:0)

当我找到你的权利时,你会在你的网址上添加一个位置哈希,并希望人们可以直接访问子页面,而不是主页面。 我这样解决了:

在我的index.html上我得到了以下js代码

$(window).load(function() {
    if(location.hash)
    {
        linkedHash = location.hash //read the location hash variable
        // and here comes your personal load code, based on the appended location hash
    }
在我的答案中可以找到更深入的解释: Creating and structuring the index page

答案 2 :(得分:0)

你可以使用jQuery Mobile并使用类似的东西

<body> 

<!-- Start of first page -->
<div data-role="page" id="foo">

    <div data-role="header">
        <h1>Foo</h1>
    </div><!-- /header -->

    <div data-role="content">   
        <p>I'm first in the source order so I'm shown as the page.</p>      
        <p>View internal page called <a href="#bar">bar</a></p> 
    </div><!-- /content -->

    <div data-role="footer">
        <h4>Page Footer</h4>
    </div><!-- /header -->
</div><!-- /page -->


<!-- Start of second page -->
<div data-role="page" id="bar">

    <div data-role="header">
        <h1>Bar</h1>
    </div><!-- /header -->

    <div data-role="content">   
        <p>I'm first in the source order so I'm shown as the page.</p>      
        <p><a href="#foo">Back to foo</a></p>   
    </div><!-- /content -->

    <div data-role="footer">
        <h4>Page Footer</h4>
    </div><!-- /header -->
</div><!-- /page -->
</body>

答案 3 :(得分:0)

听起来您希望初次访问www.mysite.com/#contacts以打开“联系人”弹出窗口。这可能会这样做:

$(window).on("load", function() {
    var $target;
    if(window.location.hash) {
        $target = $(window.location.hash);
        if($target.length) {
            $target.trigger("click");
        }
    }
});

它查看页面上是否有一个ID与哈希匹配的元素。如果有,它会触发click事件,它会调用你的代码来显示弹出窗口。