2013-08-12 3 views
0

Я хочу манипулировать изображением при наведении курсора мыши, что изменяется только ширина, но высота остается такой же. Я вижу, что холст изображения не соответствует реальному изображению, поэтому я больше не вижу его руки. Как я могу просто растянуть ширину?Как манипулировать изображением с помощью jQuery - только по горизонтали

http://jsfiddle.net/Z8knE/3/

div 
{  
    background-image: url(http://t2.gstatic.com/images?q=tbn:ANd9GcQmloy1dlrNWhp8Y2u3lEKYEnLvJAqWVhggUIrA_QwRxjenmus-Ww); 
    -webkit-background-size: 100%; 
    -moz-background-size: 100%; 
    -o-background-size: 100%; 
    background-size: 100%; 
    height:150px; 
    width:150px; 
} 

ответ

2

Попробуйте что-то вроде этого:

JSFIDDLE

Вам не нужно использовать JQuery, просто использовать чистый CSS.

Снимите:

background-size:100% 150px; 

... и добавить:

max-height:150px; 
+0

вау, спасибо. Великий. – Ali

+0

Мне нужен jquery для easeOutBounce эффекта. – Ali

+0

вопрос: почему вы удалили размер фона, а не другие веб-киты? – Ali

0

Хитрость заключается в том, что фон-размер может иметь как ширина и высота аргументы пройдена. Установите ширину до 100% и высоту любой желаемой статической высоты. Затем, когда окно расширяется, изображение будет расширяться и не выше.

http://jsfiddle.net/Z8knE/5/

div 
{  
    background-image: url(http://t2.gstatic.com/images?q=tbn:ANd9GcQmloy1dlrNWhp8Y2u3lEKYEnLvJAqWVhggUIrA_QwRxjenmus-Ww); 
    background-size: 100% 150px; 
    height:150px; 
    width:150px; 
} 

Или, если вы на самом деле не хотите, высоту на поле, чтобы изменить, как вы его в исходной скрипке, вы можете просто удалить этот атрибут из JQuery так:

Edit: Это скрипку содержит ниже Javascript http://jsfiddle.net/Z8knE/15/

$(document).ready(function(){ 
    $("div").mouseenter(function(){ 
     $("div").animate({width:"500px"},{duration: 1000, easing: 'easeOutBounce'}); 
    }); 
    $("div").mouseleave(function(){ 
     $("div").animate({width:"150px"},{duration: 1000, easing: 'easeOutBounce'}); 
    }); 
}); 
+0

ваша скрипка не работает. высота по-прежнему нестабильна. – Ali

+0

Высота изображения фиксирована. Изображение повторяется, когда поле становится выше. Если вы хотите, чтобы изображение не повторялось, вы можете установить свойство повторения css или просто не увеличивать высоту окна и только расширять ширину окна – Lotus

+0

no. Я использую Chrome, и эта скрипка не работает. Я вижу дубликат человека. – Ali

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