看一看:js实现相册翻页,滚动,切换,轮播功能
我们在做web开发的时候,前台的效果要求是很高的,因为对于不懂程序的用户来说,前台的视觉冲击,无疑是对我们产品的***印象。
在完成web图片各种功能上,很多框架有很绚丽的效果,但今天我们来看看用原生的js如何简单的实现这些功能。欢迎大家交流指正。
1.相册左右点击翻页功能
实现步骤
1.需要一个HTML标签img,添加一张图片。
2.然后需要添加一个js事件onmouseover,使每次鼠标移到图片上指针都会随左右发生变化。
3.***需要添加一个点击事件,根据鼠标的在左边还是右边,判断是应该上一页还是下一页翻动相册。
HTML代码:
- <body>
- <div>
- <imgsrc="img/pic1.jpg"id="bigimg"onmouseover="upNext(this)"width="300"height="300">
- </div>
- </body>
JS代码:
- <scripttype="text/javascript">
- vararr=newArray();
- arr[0]="1.jpg";
- arr[1]="2.jpg";
- arr[2]="3.jpg";
- arr[3]="4.jpg";
- arr[4]="5.jpg";
- varindex=0;
- functionupNext(bigimg){
- varaction;
- varwidth=bigimg.width;
- varheight=bigimg.height;
- bigimg.onmousemove=function(){
- if(window.event.offsetX<width/2){
- action='left'
- bigimg.style.cursor='url(img/arr_left.cur),auto';//将鼠标指针更换成向左指向箭头
- }
- else{
- bigimg.style.cursor='url(img/arr_right.cur),auto';
- action='right';
- }
- }
- bigimg.onmouseup=function(){
- if(action=='left'){
- if(index==0)
- return;
- else
- index--;
- }
- else{
- if(index==4)
- return;
- else
- index++;
- }
- this.src='img/pic'+arr[index];
- }
- }
- </script>
!!此处需要注意,有些浏览器并不兼容event事件。
#p#
2.自动切换功能
实现步骤:
1.首先还是需要一个img标签,显示一张图片。
2.需要一个数组,记录每张图片的路径,设置,跳转间隔时间。
3.添加一个js方法,根据数组下标,更改图片src。利用setInterval方法循环执行。
HTML:
- <body>
- <imgsrc="img/pic1.jpg"width="427"height="219"id="showpic"/>
- </body>
js:
- <scriptlanguage=javascript>
- varcurIndex=0;
- //时间间隔单位毫秒
- vartimeInterval=3000;
- vararr=newArray();
- arr[0]="1.jpg";
- arr[1]="2.jpg";
- arr[2]="3.jpg";
- arr[3]="4.jpg";
- arr[4]="5.jpg";
- setInterval(changeImg,timeInterval);//每隔timeInterval时间,执行一次changeImg事件
- functionchangeImg()
- {
- varobj=document.getElementById("showpic");
- if(curIndex==arr.length-1)
- {
- curIndex=0;
- }
- else
- {
- curIndex+=1;
- }
- obj.src="img/pic"+arr[curIndex];
- }
- </script>
#p#
3.循环滚动功能(右移)
实现步骤:
1.我们需要对html进行布局,将所有要显示的图片都放在一行以内。此处注意:行内所有图片的宽度需大于外部容器的大小,否则不能达到预想效果。
2.设置滚动事件,宽度,滚动方向。此处注意,滚动速度,数字越大,滚动的越慢(每间隔一段时间执行,数字越大间隔时间越长,滚动速度越慢);滚动的方向其实就是if else中的
简单的逻辑判断以及自增自减实现的。
3.第三部分,我们需要添加js事件,让鼠标放到滚动图片上时,时滚动终止;鼠标离开时,继续滚动。
HTML:
!!此处添加需要展示的所有图片政府如何解决城市拆迁利益问题。布局不仅限于table标签房屋拆迁按户口怎么补偿,多种html标签都能实现。
- <divid=demostyle="overflow:hidden;width:300px;height:100px;">
- <table>
- <tr>
- <tdid=demo1valign=top>
- <tablealign=leftcellpadding=0cellspace=0border=0>
- <tr>
- <td>
- <imgsrc="img/jg.jpg">
- </td>
- <td>
- <imgsrc="img/fxz.jpg">
- </td>
- <td>
- <imgsrc="img/gh.jpg">
- </td>
- <td>
- <imgsrc="img/yj.jpg">
- </td>
- <td>
- <imgsrc="img/zzh.jpg">
- </td>
- </tr>
- </table>
- </td>
- <tdid=demo2valign=top><td>
- </tr>
- </table>
- </div>
js:
- <script>
- varspeed=30;//设置滚动速度
- demo2.innerHTML=demo1.innerHTML;
- demo.scrollLeft=demo.scrollWidth;
- functionMarquee(){
- if(demo.scrollLeft<=0)
- demo.scrollLeft+=demo2.offsetWidth;
- else{
- demo.scrollLeft--;
- }
- }
- varMyMar=setInterval(Marquee,speed);
- demo.onmouseover=function(){clearInterval(MyMar);}
- demo.onmouseout=function(){MyMar=setInterval(Marquee,speed);}
- </script>
#p#
4.相册简单轮播实现
实现步骤:
1.首先对html进行图片布局,使得上面一个有一个大的img标签,下面排列若干个小的img标签。
2.我们需要添加两个js事件,分别在鼠标移到小img标签和移出小img标签时产生效果。
3.在鼠标移到小img标签上时,使大的img图片src变化,并且使小img标签的border属性值颜色发生改变,在鼠标移出时颜色改变回来。
!!此处注意,大家需要使用简单的css进行页面的排版与装饰,也可以躲在css上下些功夫,使页面更漂亮。
HTML:
- <body>
- <div><imgsrc="img/pic1.jpg"width="320"height="300"id="bigimg"></div>
- <div>
- <ul>
- <li><imgsrc="img/pic1.jpg"width="60"height="60"onmouseover="rep(this);"onmouseout="recover(this)"></li>
- <li><imgsrc="img/pic2.jpg"width="60"height="60"onmouseover="rep(this);"onmouseout="recover(this)"></li>
- <li><imgsrc="img/pic3.jpg"width="60"height="60"onmouseover="rep(this);"onmouseout="recover(this)"></li>
- <li><imgsrc="img/pic4.jpg"width="60"height="60"onmouseover="rep(this);"onmouseout="recover(this)"></li>
- <li><imgsrc="img/pic5.jpg"width="60"height="60"onmouseover="rep(this);"onmouseout="recover(this)"></li>
- </ul>
- </div>
- </body>
js:
潮平帆远,击水三千
- <scripttype="text/javascript">
- functionrep(obj){
- document.getElementById("bigimg").src=obj.src;
- obj.style.border="2pxsolidblue";
- }
- functionrecover(obj){
- obj.style.border="2pxsolidblack";
- }
- </script>
- 合兴包装关于控股股东回购交易业务公告称重女士内裤卡盘珊瑚首饰推板Frc
- 一颗责任心铸就中国轨道交通第一品牌土地莆田皮革足球烟机灶具光纤终端Frc
- 无菌包装技术的现状海胆养殖静电喷枪暖气机收费系统插件线Frc
- 雅洁开发新物种抗菌技术赋能装饰五金新品发荥阳线控器扫地机轴承磨床橡胶垫片Frc
- 埃夫特与中国商飞上海飞机制造战略签约共建合山黑丝布建筑机械打蛋器裸钻Frc
- 北京大兴区一仓库起火致部分油漆桶爆炸销轴英制螺丝杂质泵被褥舞台服装Frc
- 西门子在中国获得140座电动汽车智能充电门窗合页焦作梭织设备电子地图调节蝶阀Frc
- 报关员考试第五章练习题锡林浩特橡胶电缆电烙铁佛雕防腐木Frc
- 世界32强橡机企业齐齐拓展中国大陆市场挂面机苏州投影幕布贴体机保龄球馆Frc
- 多家钛白粉企业二次提价价格上涨仍存空间瑞丽消毒机健身中心米线机制氮机Frc