RError.com

RError.com Logo RError.com Logo

RError.com Navigation

  • 主页

Mobile menu

Close
  • 主页
  • 系统&网络
    • 热门问题
    • 最新问题
    • 标签
  • Ubuntu
    • 热门问题
    • 最新问题
    • 标签
  • 帮助
主页 / 问题 / 1509207
Accepted
Pavel
Pavel
Asked:2023-03-29 23:29:40 +0000 UTC2023-03-29 23:29:40 +0000 UTC 2023-03-29 23:29:40 +0000 UTC

悬停在js上时如何停止轮播?

  • 772

var duration = 5000

//Обработка клика на стрелку вправо
$(document).on('click', ".carousel-button-right",function(){ 
    var carusel = $(this).parents('.carousel');
    right_carusel(carusel);
    return false;
});
//Обработка клика на стрелку влево
$(document).on('click',".carousel-button-left",function(){ 
    var carusel = $(this).parents('.carousel');
    left_carusel(carusel);
    return false;
});
function left_carusel(carusel){
   var block_width = $(carusel).find('.carousel-block').outerWidth();
   $(carusel).find(".carousel-items .carousel-block").eq(-1).clone().prependTo($(carusel).find(".carousel-items")); 
   $(carusel).find(".carousel-items").css({"left":"-"+block_width+"px"});
   $(carusel).find(".carousel-items .carousel-block").eq(-1).remove();    
   $(carusel).find(".carousel-items").animate({left: "0px"}); 
   
}
function right_carusel(carusel){
   var block_width = $(carusel).find('.carousel-block').outerWidth();
   $(carusel).find(".carousel-items").animate({left: "-"+ block_width +"px"}, duration, 'linear', function(){
      $(carusel).find(".carousel-items .carousel-block").eq(0).clone().appendTo($(carusel).find(".carousel-items")); 
      $(carusel).find(".carousel-items .carousel-block").eq(0).remove(); 
      $(carusel).find(".carousel-items").css({"left":"0px"}); 
   }); 
}

$(function() {

    auto_right('.carousel:first');
})


function auto_right(carusel,handler){
    setInterval(function(){
        if (!$(carusel).is('.hover'))
            right_carusel(carusel);
    }, duration)
}

$(document).on('mouseenter', '.carousel', function(){$(this).addClass('hover')})
$(document).on('mouseleave', '.carousel', function(){$(this).removeClass('hover')})
<style>
  .p-smi{
    width: 100%;
    height: 130px;
    margin-left: 358px;
    background-color: #e8e8e8;
    margin-top: 69px;
    box-shadow: 0px 0px 12px 0px #000000;
    font-family: Calibri;
    font-size: 18pt;
    color: black;
    padding: 7px 0 0 0;
}
.carousel  {
     width: 100%;
    margin-left: -5px;
  }
.carousel-wrapper {

   overflow: hidden; 
   position:relative;
}
.carousel-items {
   width: 10000px; 
   position: relative; 
}
.carousel-block {
  float: left;
    width: 159px;
    background-color: blue;
    margin-left: 10px;
    padding: 10px 10px 10px 0px;
}
.carousel-block img{
    display:block;

}

/*********** BUTTONS ***********/
.carousel-button-left a, .carousel-button-right a{
   width: 25px; 
   height: 36px; 
   position: relative;
   top: 80px; 
   cursor: pointer; 
   text-decoration:none;
}
.carousel-button-left a{
   float: left; 
   background: url(../images/carousel-left.png); 
}
.carousel-button-right a{
   float: right;
   background: url(../images/carousel-right.png); 
}
</style>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="carousel"> 
       <div class="carousel-button-left"><a href="#"></a></div> 
       <div class="carousel-button-right"><a href="#"></a></div> 
     <div class="carousel-wrapper"> 
        <div class="carousel-items"> 
         <div class="carousel-block">
           1
         </div>
         <div class="carousel-block">
           2
         </div>
         <div class="carousel-block">
           3
         </div>
         <div class="carousel-block">
           4
         </div>
         <div class="carousel-block">
           5
         </div>
         <div class="carousel-block">
           6
         </div>
         <div class="carousel-block">
           7
         </div>            
         <div class="carousel-block"> 
           8
         </div>
        </div>
     </div>
    </div>

下午好。无法使旋转木马在悬停时停止。我写了一个脚本,但它没有按我想要的方式工作。将鼠标悬停在幻灯片上时,会在一段时间后停止。我希望它立即起作用。

javascript
  • 1 1 个回答
  • 18 Views

1 个回答

  • Voted
  1. Best Answer
    Daniil Loban
    2023-03-30T00:06:03Z2023-03-30T00:06:03Z

    决定与事件同时停止动画的本质mouseenter

    $(document).on('mouseenter', '.carousel', function(){
      $('.carousel').find(".carousel-items").stop()
      $(this).addClass('hover')
    )
    

    var duration = 5000
    
    //Обработка клика на стрелку вправо
    $(document).on('click', ".carousel-button-right",function(){ 
        var carusel = $(this).parents('.carousel');
        right_carusel(carusel);
        return false;
    });
    //Обработка клика на стрелку влево
    $(document).on('click',".carousel-button-left",function(){ 
        var carusel = $(this).parents('.carousel');
        left_carusel(carusel);
        return false;
    });
    function left_carusel(carusel){
       var block_width = $(carusel).find('.carousel-block').outerWidth();
       $(carusel).find(".carousel-items .carousel-block").eq(-1).clone().prependTo($(carusel).find(".carousel-items")); 
       $(carusel).find(".carousel-items").css({"left":"-"+block_width+"px"});
       $(carusel).find(".carousel-items .carousel-block").eq(-1).remove();    
       $(carusel).find(".carousel-items").animate({left: "0px"}); 
       
    }
    function right_carusel(carusel){
       var block_width = $(carusel).find('.carousel-block').outerWidth();
       $(carusel).find(".carousel-items").animate({left: "-"+ block_width +"px"}, duration, 'linear', function(){
          $(carusel).find(".carousel-items .carousel-block").eq(0).clone().appendTo($(carusel).find(".carousel-items")); 
          $(carusel).find(".carousel-items .carousel-block").eq(0).remove(); 
          $(carusel).find(".carousel-items").css({"left":"0px"}); 
       }); 
    }
    
    $(function() {
        auto_right('.carousel:first');
    })
    
    function auto_right(carusel,handler){
        setInterval(function(){
            if (!$(carusel).is('.hover'))
                right_carusel(carusel);
        }, duration)
    }
    
    $(document).on('mouseenter', '.carousel', function(){
    $('.carousel').find(".carousel-items").stop()
    $(this).addClass('hover')
    })
    $(document).on('mouseleave', '.carousel', function(){$(this).removeClass('hover')})
    <style>
      .p-smi{
        width: 100%;
        height: 130px;
        margin-left: 358px;
        background-color: #e8e8e8;
        margin-top: 69px;
        box-shadow: 0px 0px 12px 0px #000000;
        font-family: Calibri;
        font-size: 18pt;
        color: black;
        padding: 7px 0 0 0;
    }
    .carousel  {
         width: 100%;
        margin-left: -5px;
      }
    .carousel-wrapper {
    
       overflow: hidden; 
       position:relative;
    }
    .carousel-items {
       width: 10000px; 
       position: relative; 
    }
    .carousel-block {
      float: left;
        width: 159px;
        background-color: blue;
        margin-left: 10px;
        padding: 10px 10px 10px 0px;
    }
    .carousel-block img{
        display:block;
    
    }
    
    /*********** BUTTONS ***********/
    .carousel-button-left a, .carousel-button-right a{
       width: 25px; 
       height: 36px; 
       position: relative;
       top: 80px; 
       cursor: pointer; 
       text-decoration:none;
    }
    .carousel-button-left a{
       float: left; 
       background: url(../images/carousel-left.png); 
    }
    .carousel-button-right a{
       float: right;
       background: url(../images/carousel-right.png); 
    }
    </style>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
    <div class="carousel"> 
           <div class="carousel-button-left"><a href="#"></a></div> 
           <div class="carousel-button-right"><a href="#"></a></div> 
         <div class="carousel-wrapper"> 
            <div class="carousel-items"> 
             <div class="carousel-block">
               1
             </div>
             <div class="carousel-block">
               2
             </div>
             <div class="carousel-block">
               3
             </div>
             <div class="carousel-block">
               4
             </div>
             <div class="carousel-block">
               5
             </div>
             <div class="carousel-block">
               6
             </div>
             <div class="carousel-block">
               7
             </div>            
             <div class="carousel-block"> 
               8
             </div>
            </div>
         </div>
        </div>

    • 1

相关问题

  • 第二个 Instagram 按钮的 CSS 属性

  • 由于模糊,内容不可见

  • 弹出队列。消息显示不正确

  • 是否可以在 for 循环中插入提示?

  • 如何将 JSON 请求中的信息输出到数据表 Vuetify vue.js?

Sidebar

Stats

  • 问题 10021
  • Answers 30001
  • 最佳答案 8000
  • 用户 6900
  • 常问
  • 回答
  • Marko Smith

    我看不懂措辞

    • 1 个回答
  • Marko Smith

    请求的模块“del”不提供名为“default”的导出

    • 3 个回答
  • Marko Smith

    "!+tab" 在 HTML 的 vs 代码中不起作用

    • 5 个回答
  • Marko Smith

    我正在尝试解决“猜词”的问题。Python

    • 2 个回答
  • Marko Smith

    可以使用哪些命令将当前指针移动到指定的提交而不更改工作目录中的文件?

    • 1 个回答
  • Marko Smith

    Python解析野莓

    • 1 个回答
  • Marko Smith

    问题:“警告:检查最新版本的 pip 时出错。”

    • 2 个回答
  • Marko Smith

    帮助编写一个用值填充变量的循环。解决这个问题

    • 2 个回答
  • Marko Smith

    尽管依赖数组为空,但在渲染上调用了 2 次 useEffect

    • 2 个回答
  • Marko Smith

    数据不通过 Telegram.WebApp.sendData 发送

    • 1 个回答
  • Martin Hope
    Alexandr_TT 2020年新年大赛! 2020-12-20 18:20:21 +0000 UTC
  • Martin Hope
    Alexandr_TT 圣诞树动画 2020-12-23 00:38:08 +0000 UTC
  • Martin Hope
    Air 究竟是什么标识了网站访问者? 2020-11-03 15:49:20 +0000 UTC
  • Martin Hope
    Qwertiy 号码显示 9223372036854775807 2020-07-11 18:16:49 +0000 UTC
  • Martin Hope
    user216109 如何为黑客设下陷阱,或充分击退攻击? 2020-05-10 02:22:52 +0000 UTC
  • Martin Hope
    Qwertiy 并变成3个无穷大 2020-11-06 07:15:57 +0000 UTC
  • Martin Hope
    koks_rs 什么是样板代码? 2020-10-27 15:43:19 +0000 UTC
  • Martin Hope
    Sirop4ik 向 git 提交发布的正确方法是什么? 2020-10-05 00:02:00 +0000 UTC
  • Martin Hope
    faoxis 为什么在这么多示例中函数都称为 foo? 2020-08-15 04:42:49 +0000 UTC
  • Martin Hope
    Pavel Mayorov 如何从事件或回调函数中返回值?或者至少等他们完成。 2020-08-11 16:49:28 +0000 UTC

热门标签

javascript python java php c# c++ html android jquery mysql

Explore

  • 主页
  • 问题
    • 热门问题
    • 最新问题
  • 标签
  • 帮助

Footer

RError.com

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

帮助

© 2023 RError.com All Rights Reserve   沪ICP备12040472号-5