how to stop jquery imageslider on mouse hover

后端 未结 4 1117
醉梦人生
醉梦人生 2021-01-16 03:40

this is my website demo : http://daplonline.in/index5.php

i got this jquery from : http://designm.ag/tutorials/image-rotator-css-jquery/

i want to stop slide

相关标签:
4条回答
  • 2021-01-16 04:13

    Add this code at the end of your script.. I guess the mouse-over will pause the slider but i m not sure if the mouseout works or not.. Just give it a try and let me know about the result.

    $('.main_image').on("mouseover",function(){
    clearInterval(intervalID);
    });
    
    $('.main_image').on("mouseout",function(){
    intervalID = setInterval(cycleImage, slidetime);
    });
    

    Adding the above lines will make the code as below:

        <script type="text/javascript">
    var intervalId;
    var slidetime = 2500; // milliseconds between automatic transitions
    
    $(document).ready(function() {  
    
      // Comment out this line to disable auto-play
        intervalID = setInterval(cycleImage, slidetime);
    
        $(".main_image .desc").show(); // Show Banner
        $(".main_image .block").animate({ opacity: 0.85 }, 1 ); // Set Opacity
    
        // Click and Hover events for thumbnail list
        $(".image_thumb ul li:first").addClass('active'); 
        $(".image_thumb ul li").click(function(){ 
            // Set Variables
            var imgAlt = $(this).find('img').attr("alt"); //  Get Alt Tag of Image
            var imgTitle = $(this).find('a').attr("href"); // Get Main Image URL
            var imgDesc = $(this).find('.block').html();    //  Get HTML of block
            var imgDescHeight = $(".main_image").find('.block').height();   // Calculate height of block    
    
            if ($(this).is(".active")) {  // If it's already active, then...
                return false; // Don't click through
            } else {
                // Animate the Teaser               
                $(".main_image .block").animate({ opacity: 0, marginBottom: -imgDescHeight }, 250 , function() {
                    $(".main_image .block").html(imgDesc).animate({ opacity: 0.85,  marginBottom: "0" }, 250 );
                    $(".main_image img").attr({ src: imgTitle , alt: imgAlt});
                });
            }
    
            $(".image_thumb ul li").removeClass('active'); // Remove class of 'active' on all lists
            $(this).addClass('active');  // add class of 'active' on this list only
            return false;
    
        }) .hover(function(){
            $(this).addClass('hover');
            }, function() {
            $(this).removeClass('hover');
        });
    
        // Toggle Teaser
        $("a.collapse").click(function(){
            $(".main_image .block").slideToggle();
            $("a.collapse").toggleClass("show");
        });
    
        // Function to autoplay cycling of images
        // Source: http://stackoverflow.com/a/9259171/477958
        function cycleImage(){
        var onLastLi = $(".image_thumb ul li:last").hasClass("active");       
        var currentImage = $(".image_thumb ul li.active");
    
    
        if(onLastLi){
          var nextImage = $(".image_thumb ul li:first");
        } else {
          var nextImage = $(".image_thumb ul li.active").next();
        }
    
        $(currentImage).removeClass("active");
        $(nextImage).addClass("active");
    
            // Duplicate code for animation
            var imgAlt = $(nextImage).find('img').attr("alt");
            var imgTitle = $(nextImage).find('a').attr("href");
            var imgDesc = $(nextImage).find('.block').html();
            var imgDescHeight = $(".main_image").find('.block').height();
    
            $(".main_image .block").animate({ opacity: 0, marginBottom: -imgDescHeight }, 250 , function() {
          $(".main_image .block").html(imgDesc).animate({ opacity: 0.85,    marginBottom: "0" }, 250 );
          $(".main_image img").attr({ src: imgTitle , alt: imgAlt});
            });
      };
    
    $('.main_image').on("mouseover",function(){
    clearInterval(intervalID);
    });
    
    $('.main_image').on("mouseout",function(){
    intervalID = setInterval(cycleImage, slidetime);
    });
    
    
    });// Close Function
    </script>
    
    0 讨论(0)
  • 2021-01-16 04:14

    try this,

    $('.image_thumb ul li').on("mouseover",function(){
      clearInterval(intervalID);
    });
    
    $('.image_thumb ul li').on("mouseout",function(){
      intervalID = setInterval(cycleImage, slidetime);
    });
    

    add this at the end of your coding...

    0 讨论(0)
  • 2021-01-16 04:27
    $( "..." ) .mouseover(function() { 
         //Stop the animation here 
         $( "..." ).stop(); 
    }).mouseout(function() { 
         //Do your animation here 
         $( "...").animate(); 
    });
    
    0 讨论(0)
  • 2021-01-16 04:35

    you need to clear the interval for image rotation:

    $(function(){
    var stop;
    function rotate(){
     stop = setInterval(change, 1000);
    }
    rotate();
    //Use the event you want to stop image rotation
    $("#ok").click(function(){
     clearInterval(stop);
    });
    });
    
    0 讨论(0)
提交回复
热议问题