Home > Web Front-end > JS Tutorial > js Sina's image playback image rotation effect code_image special effects

js Sina's image playback image rotation effect code_image special effects

WBOY
Release: 2016-05-16 19:02:38
Original
1347 people have browsed it

Core code
Copy code The code is as follows:

function slide(src,link,text,target,attr,desc) {
  this.desc = desc
  this.src = src;
  this.link = link;
  this.text = text;
  this.target = target;
  this.attr = attr;
  if (document.images) {
    this.image = new Image();
  }
  this.loaded = false;
  this.load = function() {
    if (!document.images) { return; }

    if (!this.loaded) {
      this.image.src = this.src;
      this.loaded = true;
    }
  }
  this.hotlink = function() {
    var mywindow;
    if (!this.link) return;
    if (this.target) {
      if (this.attr) {
        mywindow = window.open(this.link, this.target, this.attr);

      } else {
        mywindow = window.open(this.link, this.target);
      }
      if (mywindow && mywindow.focus) mywindow.focus();

    } else {
      location.href = this.link;
    }
  }
}
function slideshow( slideshowname ) {
  this.name = slideshowname;
  this.repeat = true;
  this.prefetch = -1;
  this.image;
  this.textid;
  this.textarea;
  this.timeout = 5000;
  this.slides = new Array();
  this.current = 0;
  this.timeoutid = 0;
  this.add_slide = function(slide) {
    var i = this.slides.length;
    if (this.prefetch == -1) {
      slide.load();
    }

    this.slides[i] = slide;
  }
  this.play = function(timeout) {
    this.pause();
    if (timeout) {
      this.timeout = timeout;
    }
    if (typeof this.slides[ this.current ].timeout != 'undefined') {
      timeout = this.slides[ this.current ].timeout;
    } else {
      timeout = this.timeout;
    }
    this.timeoutid = setTimeout( this.name   ".loop()", timeout);
  }
  this.pause = function() {
    if (this.timeoutid != 0) {

      clearTimeout(this.timeoutid);
      this.timeoutid = 0;

    }
  }
  this.update = function() {
    if (! this.valid_image()) { return; }
    if (typeof this.pre_update_hook == 'function') {
      this.pre_update_hook();
    }
    var slide = this.slides[ this.current ];
    var dofilter = false;
    if (this.image &&
        typeof this.image.filters != 'undefined' &&
        typeof this.image.filters[0] != 'undefined') {
      dofilter = true;

    }
    slide.load();
    if (dofilter) {
      if (slide.filter &&
          this.image.style &&
          this.image.style.filter) {
        this.image.style.filter = slide.filter;
      }
      this.image.filters[0].Apply();
    }
    this.image.src = slide.image.src;
    if (dofilter) {
      this.image.filters[0].Play();
    }
    this.display_text();
    if (typeof this.post_update_hook == 'function') {
      this.post_update_hook();
    }
    if (this.prefetch > 0) {

      var next, prev, count;
      next = this.current;
      prev = this.current;
      count = 0;
      do {
        if ( next >= this.slides.length) next = 0;
        if (--prev         this.slides[next].load();
        this.slides[prev].load();
      } while ( count     }
  }
  this.goto_slide = function(n) {
    if (n == -1) {
      n = this.slides.length - 1;
    }
    if (n = 0) {
      this.current = n;
    }
    this.update();
  }
  this.goto_random_slide = function(include_current) {
    var i;
    if (this.slides.length > 1) {
      do {
        i = Math.floor(Math.random()*this.slides.length);
      } while (i == this.current);
      this.goto_slide(i);
    }
  }
  this.next = function() {
    if (this.current       this.current ;
    } else if (this.repeat) {
      this.current = 0;
    }
    this.update();
  }
  this.previous = function() {
    if (this.current > 0) {
      this.current--;
    } else if (this.repeat) {
      this.current = this.slides.length - 1;
    }
    this.update();
  }
  this.shuffle = function() {
    var i, i2, slides_copy, slides_randomized;
    slides_copy = new Array();
    for (i = 0; i       slides_copy[i] = this.slides[i];
    }
    slides_randomized = new Array();
    do {
      i = Math.floor(Math.random()*slides_copy.length);
      slides_randomized[ slides_randomized.length ] =
        slides_copy[i];
      for (i2 = i   1; i2         slides_copy[i2 - 1] = slides_copy[i2];
      }
      slides_copy.length--;
    } while (slides_copy.length);
    this.slides = slides_randomized;
  }
  this.get_text = function() {
    return(this.slides[ this.current ].text);
  }
  this.get_all_text = function(before_slide, after_slide) {
    all_text = "";
    for (i=0; i       slide = this.slides[i];
      if (slide.text) {
        all_text  = before_slide   slide.text   after_slide;
      }
    }
    return(all_text);
  }
  this.display_text = function(text) {
    if (!text) {
      text = this.slides[ this.current ].text;
    }
    if (this.textarea && typeof this.textarea.value != 'undefined') {
      this.textarea.value = text;
    }
    if (this.textid) {
      r = this.getElementById(this.textid);
      if (!r) { return false; }
      if (typeof r.innerHTML == 'undefined') { return false; }
      r.innerHTML = text;
    }
  }
  this.hotlink = function() {
    this.slides[ this.current ].hotlink();
  }
  this.save_position = function(cookiename) {
    if (!cookiename) {
      cookiename = this.name   '_slideshow';
    }
    document.cookie = cookiename   '='   this.current;
  }
  this.restore_position = function(cookiename) {
    if (!cookiename) {
      cookiename = this.name   '_slideshow';
    }
    var search = cookiename   "=";
    if (document.cookie.length > 0) {
      offset = document.cookie.indexOf(search);
      if (offset != -1) { 
        offset  = search.length;
        end = document.cookie.indexOf(";", offset);
        if (end == -1) end = document.cookie.length;
        this.current = parseInt(unescape(document.cookie.substring(offset, end)));
        }
     }
  }
  this.noscript = function() {
    $html = "n";
    for (i=0; i       slide = this.slides[i];
      $html  = '

';
      if (slide.link) {
        $html  = '';
      }
      $html  = 'js Sina's image playback image rotation effect code_image special effects';
      if (slide.link) {
        $html  = "
";
      }
      if (slide.text) {
        $html  = "
n"   slide.text;
      }
      $html  = "

"   "nn";
    }
    $html = $html.replace(/&/g, "&" );
    $html = $html.replace(/, "    $html = $html.replace(/>/g, ">" );
    return('
'   $html   '
Copy after login
');
  }
  this.loop = function() {
    if (this.current       next_slide = this.slides[this.current   1];
      if (next_slide.image.complete == null || next_slide.image.complete) {
        this.next();
      }
    } else {
      this.next();
    }
    this.play( );
  }
  this.valid_image = function() {
    if (!this.image){
      return false;
    }
    else {
      return true;
    }
  }
  this.getElementById = function(element_id) {
    if (document.getElementById) {
      return document.getElementById(element_id);
    }
    else if (document.all) {
      return document.all[element_id];
    }
    else if (document.layers) {
      return document.layers[element_id];
    } else {
      return undefined;
    }
  }
  this.set_image = function(imageobject) {
    if (!document.images)
      return;
    this.image = imageobject;
  }
  this.set_textarea = function(textareaobject) {
    this.textarea = textareaobject;
    this.display_text();
  }
  this.set_textid = function(textidstr) {
    this.textid = textidstr;
    this.display_text();
  }
}

新浪图片播放器在线演示
新浪图片播放器打包下载
Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template