1

こんにちは私は画面の横に隠れて切り替えることができるナビゲーションメニューを持っていますが、残念ながら内部のアンカーリンクをクリックすることはできません(代わりに切り替えるだけで、デフォルトの防止をオーバーライドして取得するためにできることがありますアンカータグは機能していますか?

var one = {queue:true, duration:1250, easing: 'easeInOutExpo'};
var two = {queue:true, duration:1500, easing: 'easeInOutExpo'};

$('nav').toggle(
function()  { showMenu() },
function()  { hideMenu() });

$(window).bind('load', function() {
setTimeout ( 'hideMenu()', 1000 );
});

function hideMenu()
{
$('nav').animate({ left: '-=270' },  one);
$('#container').animate({ left: '-=270' }, two);
}
function showMenu()
{
$('nav').animate({ left: '+=270' },  one);
$('#container').animate({ left: '+=270' }, two);
} 
4

2 に答える 2

1

リンクが要素内にあると仮定して、navその要素に設定されたアニメーションをトリガーしますか?

$('a', 'nav').on('click', function(e) {
    e.stopPropagation();
});

アンカーのクリックが要素までバブリングするのを停止しますnav

于 2012-05-08T23:30:14.920 に答える
0

アンカーが機能するには、空ではない属性が提供されている必要がありますhref

.click()あなたはそのようなデフォルトの振る舞いを防ぎます

$('a.optional-class').click(function(e){
    e.preventDefault(); // it's way more powerful than...
    // your code goes here
    return false; // ... than this
});

上記のハック(?)はどちらも異なる方法で機能します。1).preventDefault()このアンカーは実際にはアンカーではなく、1つとして扱われるべきではないことをブラウザに通知するだけです。アクションを防止し<a />ます2)return falseユーザーが実際にリンクをクリックしていないことをブラウザに通知します。これは、次の場合にサイトのスクロールを妨げることはありません

<a href="#some_id_here">
<!-- some code and height goes here... -->
<div id="some_id_here"></div>
于 2012-05-08T23:35:43.997 に答える