检测台厂家
免费服务热线

Free service

hotline

010-00000000
检测台厂家
热门搜索:
成功案例
当前位置:首页 > 成功案例

看一看:js实现相册翻页,滚动,切换,轮播功能

发布时间:2022-04-02 09:41:51 阅读: 来源:检测台厂家
js实现相册翻页,滚动,切换,轮播功能 2015-05-28 10:20:34 开发 前端 我们在做web开发的时候,前台的效果要求是很高的,因为对于不懂程序的用户来说,前台的视觉冲击,无疑是对我们产品的第一印象。

我们在做web开发的时候,前台的效果要求是很高的,因为对于不懂程序的用户来说,前台的视觉冲击,无疑是对我们产品的***印象。

在完成web图片各种功能上,很多框架有很绚丽的效果,但今天我们来看看用原生的js如何简单的实现这些功能。欢迎大家交流指正。

1.相册左右点击翻页功能

实现步骤

1.需要一个HTML标签img,添加一张图片。

2.然后需要添加一个js事件onmouseover,使每次鼠标移到图片上指针都会随左右发生变化。

3.***需要添加一个点击事件,根据鼠标的在左边还是右边,判断是应该上一页还是下一页翻动相册。

HTML代码:

  1. <body>
  2. <div>
  3. <imgsrc="img/pic1.jpg"id="bigimg"onmouseover="upNext(this)"width="300"height="300">
  4. </div>
  5. </body>

JS代码:

  1. <scripttype="text/javascript">
  2. vararr=newArray();
  3. arr[0]="1.jpg";
  4. arr[1]="2.jpg";
  5. arr[2]="3.jpg";
  6. arr[3]="4.jpg";
  7. arr[4]="5.jpg";
  8. varindex=0;
  9. functionupNext(bigimg){
  10. varaction;
  11. varwidth=bigimg.width;
  12. varheight=bigimg.height;
  13. bigimg.onmousemove=function(){
  14. if(window.event.offsetX<width/2){
  15. action='left'
  16. bigimg.style.cursor='url(img/arr_left.cur),auto';//将鼠标指针更换成向左指向箭头
  17. }
  18. else{
  19. bigimg.style.cursor='url(img/arr_right.cur),auto';
  20. action='right';
  21. }
  22. }
  23. bigimg.onmouseup=function(){
  24. if(action=='left'){
  25. if(index==0)
  26. return;
  27. else
  28. index--;
  29. }
  30. else{
  31. if(index==4)
  32. return;
  33. else
  34. index++;
  35. }
  36. this.src='img/pic'+arr[index];
  37. }
  38. }
  39. </script>

!!此处需要注意,有些浏览器并不兼容event事件。

#p#

2.自动切换功能

实现步骤:

1.首先还是需要一个img标签,显示一张图片。

2.需要一个数组,记录每张图片的路径,设置,跳转间隔时间。

3.添加一个js方法,根据数组下标,更改图片src。利用setInterval方法循环执行。

HTML:

  1. <body>
  2. <imgsrc="img/pic1.jpg"width="427"height="219"id="showpic"/>
  3. </body>

js:

  1. <scriptlanguage=javascript>
  2. varcurIndex=0;
  3. //时间间隔单位毫秒
  4. vartimeInterval=3000;
  5. vararr=newArray();
  6. arr[0]="1.jpg";
  7. arr[1]="2.jpg";
  8. arr[2]="3.jpg";
  9. arr[3]="4.jpg";
  10. arr[4]="5.jpg";
  11. setInterval(changeImg,timeInterval);//每隔timeInterval时间,执行一次changeImg事件
  12. functionchangeImg()
  13. {
  14. varobj=document.getElementById("showpic");
  15. if(curIndex==arr.length-1)
  16. {
  17. curIndex=0;
  18. }
  19. else
  20. {
  21. curIndex+=1;
  22. }
  23. obj.src="img/pic"+arr[curIndex];
  24. }
  25. </script>

#p#

3.循环滚动功能(右移)

实现步骤:

1.我们需要对html进行布局,将所有要显示的图片都放在一行以内。此处注意:行内所有图片的宽度需大于外部容器的大小,否则不能达到预想效果。

2.设置滚动事件,宽度,滚动方向。此处注意,滚动速度,数字越大,滚动的越慢(每间隔一段时间执行,数字越大间隔时间越长,滚动速度越慢);滚动的方向其实就是if else中的

简单的逻辑判断以及自增自减实现的。

3.第三部分,我们需要添加js事件,让鼠标放到滚动图片上时,时滚动终止;鼠标离开时,继续滚动。

HTML:

!!此处添加需要展示的所有图片政府如何解决城市拆迁利益问题。布局不仅限于table标签房屋拆迁按户口怎么补偿,多种html标签都能实现。

  1. <divid=demostyle="overflow:hidden;width:300px;height:100px;">
  2. <table>
  3. <tr>
  4. <tdid=demo1valign=top>
  5. <tablealign=leftcellpadding=0cellspace=0border=0>
  6. <tr>
  7. <td>
  8. <imgsrc="img/jg.jpg">
  9. </td>
  10. <td>
  11. <imgsrc="img/fxz.jpg">
  12. </td>
  13. <td>
  14. <imgsrc="img/gh.jpg">
  15. </td>
  16. <td>
  17. <imgsrc="img/yj.jpg">
  18. </td>
  19. <td>
  20. <imgsrc="img/zzh.jpg">
  21. </td>
  22. </tr>
  23. </table>
  24. </td>
  25. <tdid=demo2valign=top><td>
  26. </tr>
  27. </table>
  28. </div>

js:

  1. <script>
  2. varspeed=30;//设置滚动速度
  3. demo2.innerHTML=demo1.innerHTML;
  4. demo.scrollLeft=demo.scrollWidth;
  5. functionMarquee(){
  6. if(demo.scrollLeft<=0)
  7. demo.scrollLeft+=demo2.offsetWidth;
  8. else{
  9. demo.scrollLeft--;
  10. }
  11. }
  12. varMyMar=setInterval(Marquee,speed);
  13. demo.onmouseover=function(){clearInterval(MyMar);}
  14. demo.onmouseout=function(){MyMar=setInterval(Marquee,speed);}
  15. </script>

#p#

4.相册简单轮播实现

实现步骤:

1.首先对html进行图片布局,使得上面一个有一个大的img标签,下面排列若干个小的img标签。

2.我们需要添加两个js事件,分别在鼠标移到小img标签和移出小img标签时产生效果。

3.在鼠标移到小img标签上时,使大的img图片src变化,并且使小img标签的border属性值颜色发生改变,在鼠标移出时颜色改变回来。

!!此处注意,大家需要使用简单的css进行页面的排版与装饰,也可以躲在css上下些功夫,使页面更漂亮。

HTML:

  1. <body>
  2. <div><imgsrc="img/pic1.jpg"width="320"height="300"id="bigimg"></div>
  3. <div>
  4. <ul>
  5. <li><imgsrc="img/pic1.jpg"width="60"height="60"onmouseover="rep(this);"onmouseout="recover(this)"></li>
  6. <li><imgsrc="img/pic2.jpg"width="60"height="60"onmouseover="rep(this);"onmouseout="recover(this)"></li>
  7. <li><imgsrc="img/pic3.jpg"width="60"height="60"onmouseover="rep(this);"onmouseout="recover(this)"></li>
  8. <li><imgsrc="img/pic4.jpg"width="60"height="60"onmouseover="rep(this);"onmouseout="recover(this)"></li>
  9. <li><imgsrc="img/pic5.jpg"width="60"height="60"onmouseover="rep(this);"onmouseout="recover(this)"></li>
  10. </ul>
  11. </div>
  12. </body>

js:

  1. <scripttype="text/javascript">
  2. functionrep(obj){
  3. document.getElementById("bigimg").src=obj.src;
  4. obj.style.border="2pxsolidblue";
  5. }
  6. functionrecover(obj){
  7. obj.style.border="2pxsolidblack";
  8. }
  9. </script>
潮平帆远,击水三千