jQuery - 悬停时淡入淡出的图像和文本

时间:2014-04-20 20:45:16

标签: javascript php jquery css wordpress

我想在悬停淡入时显示4个带背景图像的框并显示一些文字。图像将不同,并将来自缩略图。该框将是一个发布的超链接。在PHP中我有这个:

<div class="kwadraty-post2">
    <?php
    $kwadrat1 = get_theme_mod('box1');
    $postid = url_to_postid( $kwadrat1 ); 
    ?> 
    <a href="<?php echo $kwadrat1 ?>">
        <?php echo get_the_post_thumbnail( $postid ); ?>
        <span><?php echo get_theme_mod('box1_title');?></span>        
    </a>
</div>

我在JS脚本中有这个

$(document).ready(function () {
    $(".kwadraty-post2").MyFadeOverImage({
        normalAlpha: 0.5,
        hoverAlpha: 1,
        normalToneColor: "#000",
        imageWidth: 'auto',
        imageHeight: '100%'
    });
    $(".test").hover(function () {
        $(".kwadraty-post2 span").toggle("slow");

    });

});

我使用THIS来遮挡图片。这就是我所做的,但并不恰当。悬停后是图像停电。无论鼠标光标在哪里,我都可以将鼠标悬停在方框上后显示该文字?

对不起这个问题的错误,英语不是我的主要语言。

This is graphical presentation of my struggle with JS :)

2 个答案:

答案 0 :(得分:1)

您是否尝试过使用此

$(".kwadraty-post2").hover(function () {
        $(".kwadraty-post2 span").toggle("slow");

    });

而不是

$(".test").hover(function () {
        $(".kwadraty-post2 span").toggle("slow");

    });

编辑: 您可以添加叠加层,然后使用此css进行淡出:

.overlay{
    z-index:10;
    width:300px;
    height:100%;
    top:0;
    left:0;
    position:absolute;
    background-color:black;
    opacity:0.5;
    -webkit-transition: opacity 1s ease-in-out;
    -moz-transition: opacity 1s ease-in-out;
    -ms-transition: opacity 1s ease-in-out;
    -o-transition: opacity 1s ease-in-out;
    transition: opacity 1s ease-in-out;
}
.overlay:hover{
    opacity:0;
}

小提琴:http://jsfiddle.net/6Z6Ev/25/

答案 1 :(得分:0)

如果我是对的话,Dzien dobry。您的想法是:当您悬停图像时,应显示跨度(图像的兄弟)。如果你不悬停,它应该仍在那里。

<a href="#">
   <img class="my-img" src="" />
   <span class="span-text">text</span>
</a>

如果您的代码看起来像这样,您可以隐藏css中的默认范围,并在$(document).ready()函数中的jQuery中尝试类似的内容

$('.my-img').hover(function() {
   $(this).siblings('.span-text').show();
});