導航:首頁 > 編程語言 > js新聞幻燈片

js新聞幻燈片

發布時間:2021-12-07 14:13:08

A. js幻燈片是怎麼實現

1.圖片放置:你需要把所有圖片放入一個div(這里就把它的class叫做pics吧)中,再把pics放入一個更大的div(就命名為container吧)中,然後把container的寬度設為一張圖片的寬度,再給它設置overflow:hidden。然後把pics的寬度設置為所有圖片的總寬度。這樣方便後面從左向右切換。如下圖所示:

2.圖片輪播。基本要領是,當點擊next按鈕的時候,將pics容器的left屬性定義到下一張圖片的位置,從而移動到下一張圖片,例如,假設當前是第二張圖片,那麼點擊按鈕的時候應該把pics的left值設為-640*2 + 'px'(因為我這里用的圖片都是-640px的)(當然這里還要加入一個計數器,當點到最後一張圖片的時候,計數器置0)。

如果你不打算加入平滑移動的動畫,那到這里就可以結束了。但是如果你打算加入動畫,這里就有一個問題:當移動到最後一張圖片的時候,繼續點擊,圖片組會由最後一張長途跋涉回滾到第一張,這樣用戶體驗很不好。理想的狀態應當是,當你滾動到最後一張繼續滾動的時候,應當像之前滾向下一張一樣無縫滾動。不知道我說的清不清楚,大致就是:像手機屏幕一樣,當你滑動到最後一屏的時候接著滑動,會直接滑回一屏,也就是循環滑動。

它的基本原理是,你要在正常的圖片組的最後面加入一張緩沖圖片(src和第一張圖片相同),當幻燈片正處於最後一張圖片的時候,點擊滑動按鈕,平滑滑動到這張緩沖圖片,當用戶下一次點擊的時候,再悄悄地把圖片置換回真正的第一張圖片,然後再執行動畫。由於置換回第一張圖片的時候是立即執行的,所以用戶不會發現圖片已經回到了真正的第一張,這就實現了循環滑動。

B. js如何實現新聞輪播

編寫基本的樣
<div class="slide" id="slide">
<div class="img-div">
<img src="img/banner1.png" title="圖片1"/>
<img src="img/banner2.png" title="圖片2"/>
<img src="img/banner3.png" title="圖片3"/>
</div>
<div class="slide-btn">
<a href="#" class="hover">●</a>
<a href="#">●</a>
<a href="#">●</a>
</div>
</div>

獲取文檔對象
以id獲取文檔對象
$id:function(id){return document.getElementById(id);},
//以標簽名獲取文檔對象
$tag:function(tagName,obj){return (obj ?obj : document).getElementsByTagName(tagName); },
以class獲取文檔對象
$c:function (claN,obj){
var tag = $tag('*'),reg = new RegExp('(^|\\s)'+claN+'(\\s|$)'),arr=[];
for(var i=0;i<tag.length;i++){
if (reg.test(tag[i].className)){
arr.push(tag[i]);
}
}
return arr;
}

添加和移除class
$add:function(obj,claN){
reg = new RegExp('(^|\\s)'+claN+'(\\s|$)');
if (!reg.test(obj.className)){

obj.className += ' '+claN;
}
},
//移除classs
$remve:function(obj,claN){var cla=obj.className,reg="/\\s*"+claN+"\\b/g";obj.className=cla?cla.replace(eval(reg),''):''},

css獲取方法
css:function(obj,attr,value){
if(value){
obj.style[attr] = value;
}else{
return typeof window.getComputedStyle != 'undefined' ? window.getComputedStyle(obj,null)[attr] : obj.currentStyle[attr];
}
},

常用的easing方法
easing ={
linear:function(t,b,c,d){return c*t/d + b;},
swing:function(t,b,c,d) {return -c/2 * (Math.cos(Math.PI*t/d) - 1) + b;},
easeIn:function(t,b,c,d){return c*(t/=d)*t*t*t + b;},
easeOut:function(t,b,c,d){return -c*((t=t/d-1)*t*t*t - 1) + b;},
easeInOut:function(t,b,c,d){return ((t/=d/2) < 1)?(c/2*t*t*t*t + b):(-c/2*((t-=2)*t*t*t - 2) + b);}
}

初始化
config:{
index:0,
auto:true,
direct:'left' //滾動方向,left,top,
},
init:function(){
this.slide = this.$id('slide');
this.img_div = this.$c('img-div')[0],
this.slide_btn = this.$tag('a',this.$c('slide-btn')[0]);
this.img_arr = this.$tag('img',this.img_div);
if(this.config.auto) this.play();//是否自動播放
this.hover();//綁定導航懸停切換。即mouseover,mouseout事件
},

動畫效果
animate:function(obj,attr,val){
var d = 1000;//動畫時間一秒完成。
if(obj[attr+'timer']) clearInterval(obj[attr+'timer']);
var start = parseInt(zBase.css(obj,attr));//動畫開始位置
//space = 動畫結束位置-動畫開始位置,即動畫要運動的距離。
var space = val- start,st=(new Date).getTime(),m=space>0? 'ceil':'floor';
obj[attr+'timer'] = setInterval(function(){
var t=(new Date).getTime()-st;//表示運行了多少時間,
if (t < d){//如果運行時間小於動畫時間
zBase.css(obj,attr,Math[m](zBase.easing['easeOut'](t,start,space,d)) +'px');
}else{
clearInterval(obj[attr+'timer']);
zBase.css(obj,attr,top+space+'px');
}
},20);
},

導航切換
hover:function(){
for(var i=0;i<this.slide_btn.length;i++){
this.slide_btn[i].index = i;
this.slide_btn[i].onmouseover = function(){
if(zBase.slide.timer) clearInterval(zBase.slide.timer);
zBase.config.index =this.index;

for(var j=0;j<zBase.slide_btn.length;j++){
zBase.$remve(zBase.slide_btn[j],'hover') ;
}
zBase.$add(zBase.slide_btn[zBase.config.index],'hover');
zBase.animate(zBase.img_div,zBase.config.direct,-zBase.config.index*500);//500是輪播器的大小,當前索引乘以500,再取負,就是輪播器要滾動f到的位置。
}
this.slide_btn[i].onmouseout = function(){
zBase.play();
}
}
},

自動播放
play:function(){
this.slide.timer = setInterval(function(){
zBase.config.index++;
if(zBase.config.index>=zBase.img_arr.length) zBase.config.index=0;

zBase.animate(zBase.img_div,zBase.config.direct,-zBase.config.index*500);
for(var j=0;j<zBase.slide_btn.length;j++){
zBase.$remve(zBase.slide_btn[j],'hover') ;
}
zBase.$add(zBase.slide_btn[zBase.config.index],'hover');

},3000)
},

調用代碼
zBase.init();

C. 用HTML+CSS+JS製作出幻燈片效果

如果是復mac的用戶,會有一個更快的方制式來製作,在AppStore下載iWork中的Keynote,打開ppt或製作ppt後可以導出為HTML文稿,所有特效所有細節全部保留,如果需要可以吧PPT發給我,幫你轉換

D. js自動播放幻燈片函數

js自動播放幻燈片函數用法:
1、用setInterval() 每個幾秒給<li></li>;
2、用attr()添加一個class;
3、用if()判斷版li的索引 , 用eq(i)確定;權

4、讀到的索引..用show() 顯示 用級siblings 的img 用 hide()隱藏 。

E. asp調用新聞圖片實現幻燈片效果

首先,你在添加新聞的時候,要記錄新聞圖片。
然後,在頁面輸出的時候,讀出圖片地址。
用JS/JQ/JS+FLASH(網上有很多,可以搜索下載:焦點圖),至於如何拼參數,
不同程序不盡相同,一般下來的程序都有範例,參考一下即可。

F. JS幻燈片,請看代碼!

slideList = ['./images/slide/zc/m1.jpg'];這是一個數組的寫法,
slideList = ['./images/slide/zc/m1.jpg','./images/slide/zc/m1.jpg','./images/slide/zc/m1.jpg'];
多張就加多個路徑,中間版用逗號隔權開

G. 網站常用的一種JS幻燈片代碼問題

這個寫得太復雜了,我發你一個自己寫得
<!doctype html>
<html lang="en">
<head>
<title>圖片切換</title>
<style>
li{
list-style-type:none;
}
#ad{
width:524px;
text-align:center;
}

#ad_screen{
width:524px;
height:190px;
float:left;
}

.ad_page{
float:left;
margin-top:-30px;
margin-left:210px;
}

.ad_page li{
float:left;
background-color:#999;
width:20px;
height:20px;
margin-left:3px;
}

.ad_page li a{
color:#fff;
}

</style>
<script>

function changead(num,refre)
{
if(num == 5)
num = 1;
var sc = document.getElementById("screens");
sc.src="images/ad-0" + num+ ".jpg";

}
</script>
</head>
<body>

<div class="middle">
<div id="ad">
<div id="ad_screen">
<img id="screens" src="images/ad-01.jpg" width="524" height="190">
</div>
<ul class="ad_page">
<li><a href="#" id="p1" onclick="changead(1);">1</a></li>
<li><a href="#" id="p2" onclick="changead(2);">2</a></li>
<li><a href="#" id="p3" onclick="changead(3);">3</a></li>
<li><a href="#" id="p4" onclick="changead(4);">4</a></li>
</ul>
</div>

</div>
</body>
</html>

<style>裡面是樣式,圖片路徑因為我的圖片是連續的1,2,3,4,所以就可以直接這樣寫方法

H. 用js製作個最為簡單的幻燈片思路,初學者,步驟加代碼,詳細點,謝謝

div+css你至少得會吧?來
首先定義一個源輪播器大盒子。設置overflow為hidden。設置其寬度,高度、position設置為相對
再在裡面套一個圖片盒子,裡面加多個img標簽。float設置為left。每張照片的大小就是輪播器的大小。那麼在輪播器范圍內的img'就會顯示出來。其他的img就因為上面設置的overflow屬性而被隱藏了。position設置為絕對定位。

js代碼方面你在窗口window.onload=function(){
寫上一個定時器

設置定時器執行的方法,就是每隔多少秒就把圖片盒子里的left屬性設置為輪播器大小的--、基本的就出來了。
其他的代碼bug自己完善。
}
你提問前問題因為更具體點。代碼自己網路,思路給你說了,要是你還要代碼只能說明至少你現在不適合干程序設計。自己不敲代碼,光想網路復制粘貼運行沒多大用

I. javascript 原先有三個幻燈片,現在想增加兩個幻燈片,請問哪裡修改

J. js幻燈片效果但是不顯示幻燈片,是什麼原因啊,如何改代碼,圖片鏈接是正確的,請幫我看看代碼,謝謝啦

在你的css里加來入如下代碼:源
.img {
width: expression(this.width > 130)this.width=120;
height: expression(this.height > 86)this.height=76;
}
//代碼中數字為你要顯示圖片的寬和高
在body的圖片標簽中調用

閱讀全文

與js新聞幻燈片相關的資料

熱點內容
蛇女懷孕三個月生產是什麼電影 瀏覽:165
國產古裝盜墓電影大全 瀏覽:776
沈陽大悅城影院 瀏覽:455
好看的電影中文字幕 瀏覽:9
母女齊收的小說 瀏覽:327
編程貓怎麼讓角色點擊子彈 瀏覽:894
火狐載入不了javascript 瀏覽:867
mathtype69安裝教程 瀏覽:964
企石文件櫃多少錢 瀏覽:444
關於超狗的電影 瀏覽:603
哪裡可以看被封的40部網路小說 瀏覽:960
韓國電影和別人老婆偷情 瀏覽:133
keil怎麼下載程序 瀏覽:872
神馬電影九 瀏覽:200
推廣app如何裂變 瀏覽:800
法國啄木鳥警察系列 瀏覽:961
一人之下小說txt全集 瀏覽:842
定電影的app 瀏覽:753
ie8模擬工具 瀏覽:403
全國大數據試驗區 瀏覽:992

友情鏈接