Simple Rollover[crossfade]

複数設置+クロスフェード

HTML

<div id="rollover" class="rollover">
   <p><img src="http://demo.webtecnote.com/simple-rollover/01.jpg" class="rollover_view" alt="image1" width="415" height="295"></p>
   <ul class="thumb">
   <li><a href="#"><img src="http://demo.webtecnote.com/simple-rollover/01_thumb.jpg" alt="thumb1" width="150" height="45"></a></li>
    <li><a href="#"><img src="http://demo.webtecnote.com/simple-rollover/02_thumb.jpg" alt="thumb2" width="150" height="45"></a></li>
    <li><a href="#"><img src="http://demo.webtecnote.com/simple-rollover/03_thumb.jpg" alt="thumb3" width="150" height="45"></a></li>
    <li><a href="#"><img src="http://demo.webtecnote.com/simple-rollover/04_thumb.jpg" alt="thumb4" width="150" height="45"></a></li>
    <li><a href="#"><img src="http://demo.webtecnote.com/simple-rollover/05_thumb.jpg" alt="thumb5" width="150" height="45"></a></li>
    <li><a href="#"><img src="http://demo.webtecnote.com/simple-rollover/06_thumb.jpg" alt="thumb6" width="150" height="45"></a></li>
    </ul>
 </div>
 <div id="rollover2" class="rollover">
   <p><img src="http://demo.webtecnote.com/simple-rollover/01.jpg" class="rollover_view" alt="image1" width="415" height="295"></p>
   <ul class="thumb">
   <li><a href="#"><img src="http://demo.webtecnote.com/simple-rollover/01_thumb.jpg" alt="thumb1" width="150" height="45"></a></li>
    <li><a href="#"><img src="http://demo.webtecnote.com/simple-rollover/02_thumb.jpg" alt="thumb2" width="150" height="45"></a></li>
    <li><a href="#"><img src="http://demo.webtecnote.com/simple-rollover/03_thumb.jpg" alt="thumb3" width="150" height="45"></a></li>
    <li><a href="#"><img src="http://demo.webtecnote.com/simple-rollover/04_thumb.jpg" alt="thumb4" width="150" height="45"></a></li>
    <li><a href="#"><img src="http://demo.webtecnote.com/simple-rollover/05_thumb.jpg" alt="thumb5" width="150" height="45"></a></li>
       <li><a href="#"><img src="http://demo.webtecnote.com/simple-rollover/06_thumb.jpg" alt="thumb6" width="150"...

CSS

ul,li{ padding:0;margin:0; }
.rollover {
    height:295px;
    width:580px;
    margin:10px 0;
}
.rollover p {
    float:left;
    margin:0;
    position:relative;
}
.rollover .rollover_view {
    position:absolute;
    top:0;
    left:0;
}
.rollover ul {
    float:right;
    width:150px;
    list-style:none;
}
.rollover li {
    height:50px;
}
.rollover a img {
    border:0;
}

JavaScript

/**
 * Simple Rollover[crossfade]
 * @author Tenderfeel([email protected])
 * @ver 1.1
 * @HOME http://tenderfeel.xsrv.jp/javascript/271/
 * @license The MIT License
 */
 
if (typeof window.wtn != 'object'){
    window.wtn = {};
}


(function() {
    wtn.rollover = function(id, view){
        var parent = document.getElementById(id);
        var prev = wtn.getClassName(parent.getElementsByTagName("img"), (view || "rollover_view"));
        var next = new Image();
        next.width = prev.width;
        next.height = prev.height;
        next.className = prev.className;
        next.src = prev.src;
        prev.parentNode.appendChild(next);
        
        var fadePrev = new wtn.fade(prev);
        var fadeNext = new wtn.fade(next,{opacity:0});
        var current = 'prev';
        
        var thumb = wtn.getClassName(parent, 'thumb');
        
        var img = thumb.getElementsByTagName("img");
        var regrep = "_thumb";
        var newimg = [];
        
        var  replaceImage = function(e){
            var el = e.target || e.srcElement;
            var href = el.src.replace(regrep,"");
            if(current=='prev'){
                next.src = href;
                fadeNext.cancel();
                fadePrev.cancel();
                fadePrev.fadeOut();
                fadeNext.fadeIn();
                current='next';
            }else{
                prev.src = href;
                fadeNext.cancel();
                fadePrev.cancel();
                fadePrev.fadeIn();
                fadeNext.fadeOut();
                current='prev';
            }
            if(e.preventDefault){ e.preventDefault(); }
            return true;
        };
        
        for (var i = 0; i < img.length; i++) {
            newimg[i] = new Image();
            newimg[i].src = img[i].src;
            
            if(img[i].addEventListener){
                img[i].addEventListener("mouseover", replaceImage, false);
            }else{
               ...