2015-05-10 4 views
0

Im используя приведенный ниже код, чтобы имитировать эффект .animate toggle. Однако при нажатии на эту страницу вы переходите к вершине. Я пытался использовать предупреждение, но он все еще прыгает, поэтому я думаю, что я что-то упустил ... Любые идеи?Предотвратить функцию .click Перейти к началу страницы

$(function() { 
$('.menu-toggle').click(function() { 
    var clicks = $(this).data('clicks'); 
    if (clicks) {// odd clicks 

    $(this).find('i').toggleClass('fa-bars fa-times'); 
    $(this).toggleClass('cross'); 
    $('.menu-over ul li').toggleClass('animated-fast slideInLeft') 

    $(".menu-over").animate({ 
    left: "-50%", 
    }, 1000); 

    $(".mainsite").animate({ 
    left: "0%", 
    width:"100%" , 
    }, 1000); 

    } else {// even clicks 

    $(this).find('i').toggleClass('fa-bars fa-times'); 
    $(this).toggleClass('cross'); 
    $('.menu-over ul li').toggleClass('animated-fast slideInLeft') 

    $(".menu-over").animate({ 
    left: "0%", 
    }, 1000); 

    $(".mainsite").animate({ 
    left: "50%", 
    width:"50%" , 
    }, 1000); 

    } 
    $(this).data("clicks", !clicks); 
}); 
}); 

ответ

0

Попробуйте return false в конце функции. Привет

+0

Спасибо за это, к сожалению, он все же прыгает на вершину. Я думаю, что это что-то связано с функциями нечетных/четных кликов, которые вызывают это, но не могут понять это ... –

+0

, пожалуйста, покажите свой html –

0

Вы должны .preventDefault() внутри события щелчка:

$('.menu-toggle').click(function(event) { 
     event.preventDefault(); 

или вы можете использовать return false;, которые должны работать так же, как в вашем случае:

$('.menu-toggle').click(function(event) { 
     return false; 
+0

Спасибо за это, к сожалению, не работают. Я думаю, что это что-то связано с функциями нечетных/четных кликов, которые вызывают это, но не могут понять это ... –

0

Фигурные его. Спасибо за все предложения, но странно никто из них не работал. Это была анимация ширины на .mainsite, которая вызывала ее. Вместо этого он изменил его на дополнительный эффект, и теперь он остается включенным при нажатии.