【问题标题】:jQuery - fading image and text on hoverjQuery - 悬停时淡化图像和文本
【发布时间】:2014-06-04 22:14:57
【问题描述】:

我想在悬停时在背景上制作 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 :)

【问题讨论】:

  • 首次悬停后是否要永久更改文本?
  • 我只想在鼠标悬停时显示和隐藏文本。所以我使用了.toggle,它工作正常,但是当我将鼠标指针设置在文本上时,图像恢复为非活动状态。
  • 你在哪里应用了悬停的测试类来切换你的跨度
  • Ups,我没有复制那个。文本类在 kwadraty-post2 之前,所以它看起来像这样:&lt;div class="test"&gt; &lt;div class="kwadraty-post2"&gt; 抱歉。
  • 这就是我所拥有的 - jsfiddle.net/6Z6Ev/5

标签: javascript php jquery css wordpress


【解决方案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/

【讨论】:

  • 我试过了。这是 jsfiddle 链接 - jsfiddle.net/6Z6Ev/5 悬停图像,然后跨度并看看发生了什么
  • 请检查编辑的答案并尝试小提琴
【解决方案2】:

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();
});

【讨论】:

  • hmm... 为了向您展示我的想法,我可以向您展示与我的想法 click 类似的内容的链接,除了此框中的图像通常会更暗(就像背景一样-color:#000 和 opacity:0.5 在 CSS 中),悬停时会在某处显示跨度文本(CSS 中的默认显示:none)并且会更亮(如 CSS 中的 opacity:1)。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-10-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-14
  • 1970-01-01
相关资源
最近更新 更多