2012-04-24 6 views
2

Проблемы с попыткой получить этот код jquery. Идея заключается в том, что непрозрачность должна измениться, когда изображение выделено. В настоящий момент используется тег класса smallartcov для изменения непрозрачности. Проблема в том, что на нем есть текст. Таким образом, текст считается, когда мышь покидает область изображения, даже если она никогда не делалась. Как я могу обойти это?Проблема с JQuery с изображением и текстом

http://169.231.6.197/vathom/artist.php Здесь находится тестовый объект. Если вы посмотрите @ на правую картинку, вы можете видеть, что я имею в виду. Вот HTML, мы имеем на это:

<div class="artistg"> 
    <div class="smallartcov"></div><span class="smallarttxt">702</span> 
    <img class="smallartpic" src="images/df.jpg" /> 
</div> 

вместе со следующим JQuery:

<script type="text/javascript"> 
$('.smallartcov').hover(function() { 
    $(this).css('color', 'white'); 
    $(this).css('opacity', '0'); 
}, function() { 
    $(this).css('color', 'white'); 
    $(this).css('opacity', '0.5'); 
}); 
</script> 

Любые идеи? Очень признателен.

+0

Вы имеете в виду, что счет должен увеличиваться при наведении и должен быть запомнен для любого нового запроса страницы? – Ankit

+0

убедитесь, что вы загрузили скрипт на DOM ready – elclanrs

+0

вы хотите скрыть текст? – Jack

ответ

1

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

$('.smallarttxt').hover(function() { 
    $('.smallartcov').css('color', 'white'); 
    $('.smallartcov').css('opacity', '0'); 
}, function() { 
    $('.smallartcov').css('color', 'white'); 
    $('.smallartcov').css('opacity', '0.5'); 
}); 
+0

Блестящий! Почему я об этом не подумал. Благодаря :) – MasterGberry

0

, если вы хотите изменить прозрачность изображения при наведении курсора на изображение, то вы должны использовать этот Jquery код

<script type="text/javascript"> 
$('.smallartpic').hover(function() { 
    $(this).css('color', 'white'); 
    $(this).css('opacity', '0'); 
}, function() { 
    $(this).css('color', 'white'); 
    $(this).css('opacity', '0.5'); 
}); 
</script> 
0

Вы можете установить z-index: 1; в smallartcov класс, но тогда текст также серым цветом.

0

Вы попытались использовать JS .hover до полного элемента artistg, содержащий всю информацию? Возможно, применение JS к содержащему div приведет к тому, что ваша мышка будет парить над текстом, а не «покинуть» состояние зависания. Курсор может по-прежнему превращаться в I-лучу, но пока вы все еще получаете эффект непрозрачности наведения, вы можете использовать CSS, чтобы держать курсор на том, что вы хотите, чтобы не нарушить наведение изображения.

0

Просто переместите функцию парения до родительского контейнера, и он будет автоматически включать как изображение и текст:

$('.artistg').hover(function() { 
     $(this).find('.smallartcov').css('opacity', 0); 
    }, function() { 
     $(this).find('.smallartcov').css('opacity', .5); 
    } 
); 

Работа демо здесь: http://jsfiddle.net/jfriend00/LnLpM/

FYI, я удалил настройки цвета, так как казалось, что он ничего не делал и был тем же самым, зависел или нет.

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