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,適用於前端和後端開發。根據項目需求選擇合適的工具可以提高開發效率和項目成功率。
