Я цвет, перемещающийся по цвету, фону и цветному css-свойствам некоторых элементов с помощью jQuery и this little plugin.Цветовое циклирование свойств некоторых элементов css с помощью jQuery:: зависание застревает и неустойчиво
Я делаю это:
var currentColor = myRandNumber; // I get this variable from the main page
var myWebColors = [ '#49aea2', '#5da270', '#a1b144', '#ceb33d', '#ce812d',
'#c44e4e', '#ac4275', '#705f91', '#4d6791', '#5199a4' ];
window.setInterval(animateColor, 2000); // not using requestAnimationFrame
// for browser compatibility
function animateColor() {
$(".new-project-header, .button a:active,
#logo, ul#menu-main-nav li a:active, ul#menu-main-nav li.contact a,
ul#menu-main-nav li.contact a:visited, .footer-twitter,
.footer-mail").animate(
{
backgroundColor: myWebColors[currentColor]
}, "slow");
$("a:hover, p a:hover, ul#menu-main-nav li.contact a:hover,
h3.portfolio-item-title a:hover").animate(
{
color: myWebColors[currentColor]
}, "slow");
$("p a, p a:visited").animate(
{
borderColor: myWebColors[currentColor]
}, "slow");
if (currentColor == 9) { // the following cycles through the array
// in an endless loop
currentColor = 0;
} else {
currentColor++;
}
}
EDIT: jsfiddle HERE!
Проблема, с которой я сталкиваюсь, заключается в том, что когда я наводил верх над p a
, в то время как jQuery делает цвет на велосипеде просто прекрасным, но как только я выпрямляю ссылку, она останется на своем: зависании, с последним цветом, в который она ввела.
Это еще хуже, когда я нависаю над ul#menu-main-nav li
. Он изменит a: hover цвет, когда это должно применяться только к ul#menu-main-nav li.contact
. Это похоже на последний селектор: состояние зависания имеет приоритет над css первого.
Возможно, я должен делать все вручную с помощью on
событий? Может быть, я должен «сбросить» все состояния: не зависания в конце каждого шага цикла? Может быть, все это слишком много, и я должен попробовать другой подход?
Спасибо!
Можете ли вы предоставить HTML или [jsFiddle] (http://jsfiddle.net)? –
Просто обновил сообщение, связав его прямо под большим кодовым полем. – MrMerrick
Aaaand обновил jsfiddle, забыл добавить фоновый цвет на велосипеде. – MrMerrick