在jquery中遇到bool的问题

时间:2014-05-29 02:47:01

标签: jquery html

好的,我会解释我的问题,同时也会向您展示一个实时版本,以帮助您更好地理解。

我有一组图像,现在它们只是黑色方块。当您将鼠标悬停在广场上时,会有一个简短的描述,其中包含的内容,现在是占位符信息。我有一个导航,当你点击一个类型(在这种情况下,它现在只是a和b)时,它只显示与你点击的内容相关的方块。对于不属于的方块,它将不透明度调暗为0。太棒了,除非它仍然给我一个正方形的描述,即使它变暗为0.没问题,应该能够抛出一个布尔值,并且只有在bool为真时才显示描述。但是,当我尝试它时,这对于Web编程不起作用,感觉就像bool没有得到更新。

示例:

if(testBool)
{
$(".square").hover(function(){
    $(".squareIdentA").text($(this).attr("data-text"));
    $(".squareIdentA").stop().animate({
        opacity: 1
    }, 500);
}

现在我认为不用说我会在需要的时候将testbool设置为true,但是当我尝试这个时它不起作用。有道理,因为这是在(文件).ready()之下,所以它只在开始时加载,但如果bool为真,我还能如何实现bool效果只显示某些东西,但在任何情况下都可能是真或假指向用户体验。

难以言语,我想我已正确解释,但如果你想要一个视觉解释,请转到(http://jdmdev.net/projects/portfolio.html#)点击欢迎的东西,点击导航上的'a'或'b',然后你选择的一个你可以悬停在消失的方块上,它仍然显示描述。描述语法是我发布的,所以如果bool为true,我只希望发生这种情况。

1 个答案:

答案 0 :(得分:0)

您可以通过向所有选定的类型添加特定类来处理此问题。将其他类添加到您已制作的其他类中。然后在你的悬停功能中,你可以检查褪色的课程是否存在,然后才显示描述。

工作演示 - http://codepen.io/nitishdhar/pen/CdiHa

像这样 -

$(document).ready(function() {
   $('.square').hover(
    function() {
      if($(this).hasClass('in-active')) {
        return false;
      }
      $('.square-data-holder').text($(this).data('content')).fadeIn('slow');
    }, function() {
      $('.square-data-holder').fadeOut('slow');

    });

    $('#selectGenre').change(function(){
       var genre = $(this).val();
       $('.square').removeClass('active').addClass('in-active');
       $('.genre-' + genre).removeClass('in-active').addClass('active');
    });
});