js 新浪的一个图片播放图片轮换效果代码_图象特效

核心代码
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 += '
新浪图片播放器在线演示
新浪图片播放器打包下载

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

Video Face Swap
使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

不同JavaScript引擎在解析和执行JavaScript代码时,效果会有所不同,因为每个引擎的实现原理和优化策略各有差异。1.词法分析:将源码转换为词法单元。2.语法分析:生成抽象语法树。3.优化和编译:通过JIT编译器生成机器码。4.执行:运行机器码。V8引擎通过即时编译和隐藏类优化,SpiderMonkey使用类型推断系统,导致在相同代码上的性能表现不同。

Python更适合初学者,学习曲线平缓,语法简洁;JavaScript适合前端开发,学习曲线较陡,语法灵活。1.Python语法直观,适用于数据科学和后端开发。2.JavaScript灵活,广泛用于前端和服务器端编程。

从C/C 转向JavaScript需要适应动态类型、垃圾回收和异步编程等特点。1)C/C 是静态类型语言,需手动管理内存,而JavaScript是动态类型,垃圾回收自动处理。2)C/C 需编译成机器码,JavaScript则为解释型语言。3)JavaScript引入闭包、原型链和Promise等概念,增强了灵活性和异步编程能力。

JavaScript在Web开发中的主要用途包括客户端交互、表单验证和异步通信。1)通过DOM操作实现动态内容更新和用户交互;2)在用户提交数据前进行客户端验证,提高用户体验;3)通过AJAX技术实现与服务器的无刷新通信。

JavaScript在现实世界中的应用包括前端和后端开发。1)通过构建TODO列表应用展示前端应用,涉及DOM操作和事件处理。2)通过Node.js和Express构建RESTfulAPI展示后端应用。

理解JavaScript引擎内部工作原理对开发者重要,因为它能帮助编写更高效的代码并理解性能瓶颈和优化策略。1)引擎的工作流程包括解析、编译和执行三个阶段;2)执行过程中,引擎会进行动态优化,如内联缓存和隐藏类;3)最佳实践包括避免全局变量、优化循环、使用const和let,以及避免过度使用闭包。

Python和JavaScript在社区、库和资源方面的对比各有优劣。1)Python社区友好,适合初学者,但前端开发资源不如JavaScript丰富。2)Python在数据科学和机器学习库方面强大,JavaScript则在前端开发库和框架上更胜一筹。3)两者的学习资源都丰富,但Python适合从官方文档开始,JavaScript则以MDNWebDocs为佳。选择应基于项目需求和个人兴趣。

Python和JavaScript在开发环境上的选择都很重要。1)Python的开发环境包括PyCharm、JupyterNotebook和Anaconda,适合数据科学和快速原型开发。2)JavaScript的开发环境包括Node.js、VSCode和Webpack,适用于前端和后端开发。根据项目需求选择合适的工具可以提高开发效率和项目成功率。
