2015-01-25 1 views
1

Я пытаюсь создать панель инструментов, где каждое изображение увеличивается при наведении на него. Тем не менее, я хочу, чтобы только тот значок, на котором вы находитесь, будет тем, кто движется. Поскольку мой код теперь, вся строка сдвигается.Использование Jquery для увеличения изображений при наведении курсора мыши без перемещения других

Вот Javascript я использую:

 $('.socialmediaBar img').mouseenter(function() { 
    $(this).stop().animate({ width: "+=2%", height: "+=20%" }); 
}); 

$('.socialmediaBar img').mouseleave(function() { 
    var x = $(this).attr('width'), 
     y = $(this).attr('height'); 

    $(this).stop().animate({ width: x, height: y }); 
}); 

Это CSS:

.socialmediaBar{ 
    height:30px; 
    width: 500px; 
    margin: 0 auto; 
    margin-top:15px; 
    text-align: center; 
    padding-top:25px; 
    border: 1px solid black; 
} 

.socialmediaBar img{ 
    position: static; 
    margin-left:auto; 
    margin-right: auto; 
    display: inline-block; 
    height:30px; 
    width: auto; 
    padding-left: 10px; 
    border: 1px solid black; 
} 

.socialmediaBar a{ 
    text-decoration: none; 
} 

И это HTML:

<div class="socialmediaBar"> 

     <a href="mailto:[email protected]"><img src="Images/Icons/envelope.png" height="30" width="30"/> </a> 
     <a href="http://www.facebook.com/ross.beitzel" target="_blank"><img src="Images/Icons/facebook.png" height="30" width="30" /> </a> 
     <a href="http://www.twitter.com/jrossbeitzel" target="_blank"><img src="Images/Icons/twitter.png" height="30" width="30" /> </a>  
     <a href="https://vimeo.com/user35376371" target="_blank"><img src="Images/Icons/Vimeo.png" height="30" width="30" /> </a> 
     <a href="https://www.linkedin.com/in/jamesrossbeitzel" target="_blank"><img src="Images/Icons/linkedin.png" height="30" width="30" /> </a> 
</div> 

Заранее спасибо за любой помогите, вы можете дать мне!

ответ

0

Вы можете установить контейнер для изображений:

<div class="container"> 
    <a href="mailto:[email protected]"> 
     <img src="Images/Icons/envelope.png" height="30" width="30"/> 
    </a> 
</div> 

Контейнер должен иметь статическую высоту и ширину:

.socialmediaBar .container { 
    height: 50px; 
    width: 50px; 
    float: left; 
} 

Я сделал Fiddle. Это немного разбивает ваши стили панели инструментов, но не должно быть никаких проблем с ее исправлением.

0

Вы можете сделать это, установив фиксированный размер ссылок inline-block s и изображения внутри absolute.

.socialmediaBar a { 
    display: inline-block; 
    width: 30px; 
    height: 30px; 
    margin-right: 18px; 
} 

.socialmediaBar img { 
    position: absolute; 
    ... 
} 

Это мой jsfiddle.

И вот мой второй jsfiddle, для восходящей анимации. Примечание: это можно сделать и с помощью css-переходов. Попробуйте удалить весь код javascript и раскомментируйте два комментария в css.

+0

Спасибо! Я пробовал это так и работал как шарм. Значки анимации вниз и вправо немного, хотя. У вас есть какие-то советы о том, как заставить их идти прямо вверх? –

+0

Я добавил второй jsfiddle. – zord

+0

Фантастический! Большое спасибо за помощь! Я немного изменил его, и это сработало как шарм. Когда он поднялся, он растянулся, поэтому я добавил немного ширины, но когда я сделал это, он снова переместился вправо (но все остальное оставалось на месте, так что это было хорошо). То, что я закончил, - это изменить стиль CSS и вытащить высоту/ширину и добавить прокладку на дно, поэтому, когда он зависает, вместо того, чтобы расти и перемещаться, он просто перемещается вверх. Это будет отлично! Большое спасибо за то, что помогли мне в этом! –

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