2012-01-26 3 views
0

У меня есть 6 изображений в строке, первая из которых я хочу масштабирование и тень, тогда, если какое-либо из других изображений зависнет над ними, они увеличивают масштаб и применяют тень (через класс) и самое главное, я хочу, чтобы изображение оринала уменьшалось и удаляло тень, если другое изображение зависло.Функция подсветки jQuery и функция наведения

У меня есть это до сих пор, хотя его, вероятно, написано полностью неправильно, вы скажете!

<script type="text/javascript"> 
(document).ready(function() { 
    $("#gallerySlideshow li img:first").css('-moz-transform', 'scale(1.1)').addClass('test'); 
    $("#gallerySlideshow li img").hover(function(){ 
     $(this).css('-moz-transform', 'scale(1.1)').addClass('test'); 
    }, 
function() { 
     $("#gallerySlideshow li img:first").css('-moz-transform', 'scale(0.9)').removeClass('test'); 
}, 
    function() { 
     $(this).css('-moz-transform', 'scale(0.9)').removeClass('test'); 
    }); 
}); 
</script> 
+1

Функция зависания имеет три аргумента. Забудьте вставить правильный код? – sathishkumar

+0

@sathishkumar - это правильно. Наведение может выполнять только две функции. Проверьте документацию. http://api.jquery.com/hover/ – Filip

+0

Похоже, вы применяете классы AND css. Вы должны попытаться включить все css в готовые классы, а затем добавить несколько классов, если вам действительно нужно. – JackalopeZero

ответ

0

Вместо манипулируя стилей, используя css метод, который я предложил бы использовать класс. Также, как упоминалось другими, у вас есть 3 функции обратного вызова для метода hover, который требует всего 2 функции. Попробуйте этот код, который исправил ваши проблемы, а также с помощью классов для масштабирования и отображения тени.

Css

img{ 
    //default style, add whatever style you want here 
    -moz-transform: scale(1.1); 
} 
.scaleAndShadow{ 
    -moz-transform: scale(1.1);//Apply on hover 
} 

JS

$(document).ready(function() { 
    $("#gallerySlideshow li img").hover(function(){ 
     $(this).addClass('scaleAndShadow') 
     .siblings().removeClass('scaleAndShadow'); 
    }, 
    function() { 
     $(this).removeClass('scaleAndShadow'); 
    }) 
    .first().addClass('scaleAndShadow');//Set the class to first img on load 
}); 

Примечание: стиль, который вы используете -moz-transform будет работать только в Firefox, вы должны использовать другие эквивалентные стили для поддержки других браузеров.

+0

Привет, Шанкар, спасибо за вашу помощь, я начинаю понимать, что вы делаете с отправленным кодом, спасибо. Он не совсем делает то, что мне нужно, хотя я не могу понять, как его манипулировать. Essentialy У меня есть 6 изображений, когда открывается страница, первая имеет класс, применяемый к ней, тогда, если пользователь наводится на любой из остальных 5, у них есть класс, который применяется, а первый имеет класс, удаленный, то если пользователь делает не наведите курсор на какие-либо изображения в списке, у первого есть класс, примененный к нему снова. – Geoff

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