2013-07-12 2 views
1

Я новичок в jQuery. Я пытался выяснить функцию анимации, и все же она все еще не работает.Как анимировать границу нажатой ссылки с jQuery?

То, что я пытаюсь сделать, очень просто. Есть эта ссылка. Если я нажму на нее, я должен увидеть границу вокруг нее. Но он не работает. Вот мой код

<a href="#">Click me</a> 

$(document).ready(function(){ 
    $('a').on('click', function(){ 
     $(this).animate({ 
      border-width: '2px' 
      }, 1000, function(){ 
       alert('It has worked'); 
     }); 
    }); 
}); 
+3

Попробуйте оживляющий индивидуальные свойства рамки (например, BorderWidth, BorderColor и т.д.) – j08691

+3

JQuery не делает понять строку ''2px solid red'', вам понадобится anima т. е. свойство border-width', а для цветов вам нужен плагин цветовой анимации. – adeneo

+0

Прошу прощения, но мой код все еще не работает –

ответ

4

Анимация только для живой численной собственности. Вы не можете анимировать цвет и стиль границы.

Взят с сайта JQuery:

Все анимированные свойства должны быть анимированы одного числового значением, за исключением случаев, указанными ниже; большинство свойств, которые не являются числовыми, не могут быть анимированы с использованием базовой функциональности jQuery (например, ширина, высота или левый могут быть анимированы, но фоновый цвет не может быть, если не используется плагин jQuery.Color()). Значения свойств обрабатываются как количество пикселей, если не указано иное. Единицы em и% могут быть указаны там, где это применимо.

jQuery animate API page

То, что я предлагаю вам сделать это, чтобы оживить только border-width и установить другие свойства в CSS файлах.

JS

$(document).ready(function(){ 
    $('a').on('click', function(){ 
     $(this).animate({ 
      'border-width': '2px' 
      }, 1000, function(){ 
       alert('It has worked'); 
     }); 
    }); 
}); 

CSS

a{ 
    border : 0 solid red; 
} 

Fiddle: http://jsfiddle.net/YQXr8/

+0

будет активировать функцию работы над видимостью? –

+0

Что вы имеете в виду? если вы установите ширину границы равным 0, ни одна граница не будет показана. –

+0

No @ eddard.stark, анимация ** только ** работает с числовыми значениями (единицы измерения), ничего другого не будет работать. –

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