jquery simple image slider w/ajax

后端 未结 1 779
有刺的猬
有刺的猬 2021-01-17 04:29

I have a page with lots of images on it, and only want to load extra images on demand. IE if the user clicks on it or mouses over, whatever. Most if not all of the sliders

相关标签:
1条回答
  • 2021-01-17 05:10

    I think you can do that with jcarousel: http://sorgalla.com/jcarousel/

    The trick is to pass the images one by one in javascript, not in html, if not, there are always loaded beforehand.

    The code would be:

    var mycarousel_itemList = [
    {url:"/im/a.jpg", title: ""},{url:"/im/b.jpg", title: ""}];
    
    listaimg=document.createElement('ul');
    jQuery(listaimg).attr('id','mycarousel');
    jQuery(listaimg).addClass('jcarousel-skin-tango');
    jQuery('#containercarousel').append(listaimg);
    jQuery('#mycarousel').jcarousel({   auto: 9,wrap: 'last', visible: 1,scroll:1, size: mycarousel_itemList.length,
        itemLoadCallback: {onBeforeAnimation: mycarousel_itemLoadCallback}
    
       });
    
    
    function mycarousel_itemLoadCallback(carousel,state){for(var i=carousel.first;i<=carousel.last;i++){if(carousel.has(i)){continue}if(i>mycarousel_itemList.length){break};
    
    carousel.add(i,mycarousel_getItemHTML(mycarousel_itemList[i-1]));
    
    
      }
    };
    function mycarousel_getItemHTML(item)
    {
    
    
      var img = new Image();
                     $J(img).load(function () {
    
    // whatever you want to do while loading.
        }).attr('src', item.url);
     return "<li><img src=\"" + item.url + "\" width=\"770\" alt=\"\" /></li>";
    
    }
    
    0 讨论(0)
提交回复
热议问题