2014-12-08 3 views
-1

Я пытаюсь добавить этот эффект: http://codepen.io/440design/pen/iEztk на мои кнопки. Я добавил код, стиль и все, но проблема в том, что когда я нажимаю на кнопку, я не вижу эффекта, потому что моя кнопка отправляет меня на нужную ссылку. Поэтому я пробовал с setTimeout, но мне не повезло, и если я использую preventDefault(), я помешаю этой ссылке идти туда, где это необходимо.Задержка щелчка на кнопке, чтобы эффект произошел

Я пытался с этим

var ink, d, x, y; 
    $(".ripplelink").click(function(e){ 
     e.preventDefault(); 
     if($(this).find(".ink").length === 0){ 
      $(this).prepend("<span class='ink'></span>"); 
     } 

     ink = $(this).find(".ink"); 
     ink.removeClass("animate"); 

     if(!ink.height() && !ink.width()){ 
      d = Math.max($(this).outerWidth(), $(this).outerHeight()); 
      ink.css({height: d, width: d}); 
     } 

     x = e.pageX - $(this).offset().left - ink.width()/2; 
     y = e.pageY - $(this).offset().top - ink.height()/2; 

     ink.css({top: y+'px', left: x+'px'}).addClass("animate");  
    }); 

    setTimeout(function(){ 
     $('.ripplelink').unbind('click'); 
    }, 2000); 

Но это не работает. Если я предотвращу дефолт и не отвяжу его, я вижу эффект пульсации, но мне нужна ссылка для работы.

В сущности, я бы хотел нажать кнопку, увидеть эффект, а затем ссылка отправит меня туда, куда мне нужно идти.

+1

Просто сделайте то, что вам нужно сделать (анимация), и измените «местоположение», чтобы сразу отразить ссылку. – melancia

ответ

0

Используйте location.href = "YOUR link";, чтобы переключиться в сторону после анимации.

+0

Не уверен, что я понимаю, но 'location.href' просто вернет возврат текущего html текущей страницы. Мне нужна ссылка, чтобы перейти к местоположению, которое установлено в ссылке. –

+0

Да, он возвращает текущий URL-адрес, но вы также можете установить текущий URL-адрес следующим образом: 'location.href =" http://stackoverflow.com ";' это откроет SO при его выполнении. –

+1

О, ладно, я понял. Мне просто нужно установить 'setTimeout' на' location.href'. Благодаря! –

Смежные вопросы