【问题标题】:jquery show div after second div visiblejquery在第二个div可见后显示div
【发布时间】:2013-11-14 13:33:51
【问题描述】:

我用可选的 div 制作了我的第一个滑块,其中包含名为例如 .description 的内容,我正在搜索如何在某些幻灯片显示后为 div 设置动画。我试过类似的东西

$(document).ready(function(){ 
    if($("#test").hasClass('flex-active-slide')){
        $(".description").fadeIn(2000);
    };

但这对我不起作用,谁能告诉我实现这一目标的正确方向?

【问题讨论】:

  • 如果触发了会怎样?正如我所看到的,如果只会触发一次,这是文档准备就绪的时候。您是否尝试将其绑定到滑块的点击处理程序?
  • 但我不希望这个滑块是可点击的,我的意思是有分页,但它会像幻灯片一样工作。是的,我的问题是我不知道如何正确触发它;)
  • 我想在 li 类更改为“active-slide”时触发它,但不知道如何;)
  • 您是否尝试将您的 if 检查包装到 setInterval 中?
  • nope ;) 我对 jquery 有点陌生,应该怎么做?

标签: jquery function jquery-animate


【解决方案1】:

jQuery.animate有回调,可以使用:

$(".slide1").animate({opacity:'show'},1000,function(){
   $(".description").fadeIn(2000);
});

祝你好运

【讨论】:

  • 你能再解释一下吗?我的意思是我应该在哪里放置 div id 或我的元素的类,对吗?你写的“把你的代码放在这里”的代码应该有类似“' if($("#test").hasClass('flex-active-slide')){'"
  • 我已经添加了我的答案,很简单,所以你只需要显示幻灯片,如果你显示了某些定义的幻灯片,你可以在描述中淡入淡出
  • 感谢分享;)
【解决方案2】:

ready 函数缺少右大括号:

$(document).ready(function(){ 
    if($("#test").hasClass('flex-active-slide')){
        $(".description").fadeIn(2000);
    }
}; // this

【讨论】:

  • 嘿,谢谢,但我只是在这里复制时错过了它;)仍然没有任何反应,尝试了 $(".description").hide();也没有任何反应
  • 为了使fadeIn 方法起作用,需要在调用fadeIn 方法之前将对象的display 属性设置为display:none。在您的 css 或一些较早的 jquery 代码中,尝试将 .description div 的 display css 属性设置为 none 并让我知道这是否有效。
  • 不,它也不起作用。即使没有 display:none 在网站的另一个元素上悬停它也对我有用。嗯,如果我给你网站,我可能会更容易找到?
  • 更多信息是很好的信息 :) 可能会发布一个指向 jsFiddle 的链接,以更清楚地说明您的问题。
  • 网站是 hurompolska.pl,问题出在网站顶部的滑块;) hm 是绝对问题的位置吗?
【解决方案3】:

我现在为此构建了一个小 jsFiddle :-)

你可以像这样使用 setInterval:

window.setInterval(function() {
  // your code here
}, 800) // checks all 800ms

See this fiddle

【讨论】:

  • 我可以看到,但是这个小提琴不起作用,我猜是因为这个黄色的东西“你好,我在这里”没有显示给我;)另一方面,这就像在一段时间后显示东西一样吗?
  • 我希望你点击了 Click me 按钮 :-) 因为这在我的示例中添加了 flex-active-slide 类到标题中。 setInterval 每 X 毫秒启动给定函数。
  • 我看不到任何按钮;) 并尝试在任何地方单击,但没有任何反应;)
  • 所以现在 :D 我忘记将此处的链接更新为...小提琴:jsfiddle.net/wL9R8/3
  • 你知道很好,但是有一点误解,因为我知道如何制作这样的东西;)我需要这个而不点击因为我的滑块是幻灯片,并且课程是针对实际显示的幻灯片 ;) 你可以在这里看到 hurompolska.pl
【解决方案4】:

我终于做到了 xD 我不知道它是否正确,但它可以按我的意愿工作;) 如果有人知道如何使它更容易(因为现在它设置在计时器上,而不是附加到幻灯片上)请告诉我;)

$(function () {
 var $anchors = $('.description');
 (function _loop(idx) {
$anchors.removeClass('highlight').eq(idx).addClass('highlight');
setTimeout(function () {
  _loop((idx + 1) % $anchors.length);
}, 7000);
$('.description').fadeIn(2000);
}(0));
});

window.setInterval(function() {

if($('#test2.highlight')){

     $('.description').removeAttr('style');
      $('.description').fadeIn(2000);
    }    
}, 7000); // checks all 800ms

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-01-04
    • 2022-08-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多