首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Javascript - Prototype/Scriptaculous在MouseOver上的暂停

Javascript - Prototype/Scriptaculous在MouseOver上的暂停
EN

Stack Overflow用户
提问于 2010-01-04 23:09:59
回答 1查看 1.3K关注 0票数 0

我正在使用这个简单的幻灯片,想知道当我将鼠标移到它上面时,是否有人知道如何让它暂停,然后如果我将鼠标从图像上移开,就会重新开始?

这里有幻灯片演示:http://script.aculo.us/stuff/simplest_slideshow/

下面是主要代码:

代码语言:javascript
复制
<script>
setInterval(function(){
  var imgs = $$('.fadein img'), 
   visible = imgs.findAll(function(img){ return img.visible(); });
  if(visible.length>1) visible.last().fade({ duration: 1 });
    else imgs.last().appear({ duration: 1, 
      afterFinish: function(){ imgs.slice(0,imgs.length-1).invoke('show');  } });
}, 2000);
</script>

谢谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-01-15 05:31:43

想出了答案:

代码语言:javascript
复制
 <ul class="fadein" onmouseover="stop_slideshow()" onmouseout="start_slideshow()">
      <li><a href="http://google.com"><img src='{{skin url="images/slider.jpg"}}' alt="" /></a></li>
      <li><a href="http://example.com"><img src='{{skin url="images/slider1.jpg"}}' alt="" /></a></li>
 </ul>

<script type="text/javascript">
var duration = 4000;
var showNextImage = true;
        function stop_slideshow() {
            showNextImage = false; 
        }  
        function start_slideshow() {
            showNextImage = true; 
        }
setInterval(function(){
    if(!showNextImage){ return; }
    var imgs = $$('.fadein img'), visible = imgs.findAll(function(img){ return img.visible(); });
    if(visible.length > 1) {
        visible.last().fade({ duration: 1 });
    } else {
        imgs.last().appear({ duration: 1, afterFinish: function(){ imgs.slice(0,imgs.length-1).invoke('show');  } });
    }
}, duration);
</script> 
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2000103

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档