【问题标题】:Change image from before to after (different sources) using jQuery UI slider使用 jQuery UI 滑块将图像从之前更改为之后(不同来源)
【发布时间】:2012-08-10 02:45:33
【问题描述】:

我正在尝试更改 Slider 幻灯片上的 IMG 源,但速度不快。这么快是什么意思?我可以在 slide() 事件上动态更改 IMG src 属性,但这很丑陋,我不希望这样。我喜欢为名为 before.jpg 的默认图像设置一个淡入淡出,为名为 after.jpg 的图像设置一个淡入淡出,必须在滑块结束时显示。我试过这段代码:

$(document).ready(function(){
   $('#slider').slider({
      slide: function(event, ui) {
         if(ui.value >= 50) {
             $('#image-changer').fadeOut('slow');
             $('#image-changer').attr('src', 'images/after.jpg');
             $('#image-changer').fadeIn('slow');
         }
      }
   });
});

但不起作用,因为图像 fadeIn 一次又一次,因为 ui.value 的值总是大于 50。有谁能帮我实现这一点吗?

【问题讨论】:

  • @j08691 还没有。只知道触发事件是 slide() 所以在其中我可以使用选择器和 attr 方法更改 IMG src 但是对于淡入淡出,到目前为止不知道
  • @j08691 好的,我已经更改了我现在测试的内容,但不起作用:(有什么帮助吗?

标签: jquery jquery-ui jquery-ui-slider


【解决方案1】:

jQuery 效果方法是异步运行的。您需要“链接”这些调用,这样它们就不会同时运行:

$('#image-changer').fadeOut('slow', 
  function() { 
    $('#image-changer').attr('src', 'images/after.jpg').fadeIn('slow'); 
  }
);

fadeOut 接受的第二个参数是动画完成时调用的函数。

【讨论】:

  • 不会发生同样的事情可能是我选择触发意义幻灯片的事件,还有其他帮助吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-10-19
  • 1970-01-01
  • 2022-06-15
  • 2011-05-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多