JavaScript:画廊案例

简介:

  经常会在网上看到这样的操作:有几个按钮。可以控制器图片的上一张、下一张。那么现在就使用按钮的click单击事件来切换img的图片。

此时由于只是简单的演示,将所有的图片保存在images目录中。所有的图片应该使用相同的命名前缀,如”pic_*.jpg“。假设”*.jpg”的取出范围为:1~3。

注意:如果增加到3了,那么就重新从1开始显示;如果减小到1了,那么就从3开始显示。

 

范例1:手动切换图片

event.html

复制代码
<!doctype html>
<html lang="zh-CN">
    <head>
        <meta charset="utf-8">
        <meta name="description" content=event.html"">
        <meta name="keywords" content="event,html,js">
        <title>javascript的程序开发之事件处理</title>
        <script type="text/javascript" src="event.js"></script>
    </head>
    <body>
        <div id="pictureDiv">
            <img src="images/pic_1.jpg" id="picImg">
        </div>
        <div id="buttonDiv">
            <button id="previousBtn">上一张</button>
            <button id="nextBtn">下一张</button>
        </div>
    </body>
</html>
复制代码

event.js

复制代码
/*
    要求:使用按钮的单击事件来切换img的图片
*/
var index = 1;
function picChanged (index) {
    //获取HTML元素图片对象
    var obj = document.getElementById("picImg");

    //重新设置图片
    obj.src = "images/pic_"+index+".jpg";
}

window.onload = function(){  //为onload事件绑定事件
    //获取HTML元素上一张按钮对象
    var previousBtn = document.getElementById("previousBtn");

    //为上一张按钮对象绑定事件
    if (previousBtn != undefined) {
        previousBtn.addEventListener("click",function(){
            if (index > 1){
                index--
            }else{
                index = 3;
            }
            picChanged(index);
        },false);
    };

    //获取HTML元素下一张按钮对象
    var nextBtn = document.getElementById("nextBtn");

    //为下一张按钮对象绑定事件
    if (nextBtn != undefined) {
        nextBtn.addEventListener("click",function(){
            if (index < 3) {
                index++
            }else{
                index = 1;
            }
            picChanged(index);
        },false);
    };
}
复制代码

pic_1.jpg                        pic_2.jpg

      

pic_3.jpg

  发现,现在的操作都是人为去进行切换,那么也可以实现自动切换。使用setTimeout函数进行自动切换。

  setTimeout(执行函数,间隔):间隔一毫秒为单位 

范例2:自动切换图片

event.html

复制代码
<!doctype html>
<html lang="zh-CN">
    <head>
        <meta charset="utf-8">
        <meta name="description" content=event.html"">
        <meta name="keywords" content="event,html,js">
        <title>javascript的程序开发之事件处理</title>
        <script type="text/javascript" src="event.js"></script>
    </head>
    <body>
        <div id="pictureDiv">
            <img src="images/pic_1.jpg" id="picImg">
        </div>
    </body>
</html>
复制代码

event.js

复制代码
/*
    要求:使用定时器自动来切换img的图片
*/
var index = 1;  //默认从第一张开始显示
function picChanged () {  //切换图片

    if (index < 3) {
        index ++;
    }else{
        index = 1;  //已经显示完了,那么需要重新显示
    }
    
    //获取HTML元素图片对象
    var obj = document.getElementById("picImg");

    //重新设置图片
    obj.src = "images/pic_"+index+".jpg";

    //定时器执行操作
    setTimeout(function() {
        picChanged();
    }, 1000);
}

window.onload = function(){ //为onload事件绑定事件
    //定时器执行操作
    // setTimeout(function() {
    // picChanged();
    // }, 1000);
    setTimeout(picChanged(),1000);
}
复制代码

 

总结:

     1—每一个HTML元素实际上在JavaScript都表示一个对象,对象可以调用里面的属性;     

     2—每一个元素都可以利用addEventListener()函数动态绑定,并且最为重要的是,都会在页面加载后绑定;

     3—取得元素对象:document.getElementById(“ID名称”)。

 

程序猿神奇的手,每时每刻,这双手都在改变着世界的交互方式!
本文转自当天真遇到现实博客园博客,原文链接:http://www.cnblogs.com/XYQ-208910/p/5825583.html ,如需转载请自行联系原作者
相关文章
|
3月前
|
数据采集 Web App开发 JavaScript
利用Selenium和XPath抓取JavaScript动态加载内容的实践案例
利用Selenium和XPath抓取JavaScript动态加载内容的实践案例
|
23天前
|
前端开发 JavaScript
JavaScript动态渲染页面爬取——CSS位置偏移反爬案例分析与爬取实战
JavaScript动态渲染页面爬取——CSS位置偏移反爬案例分析与爬取实战
30 0
|
3月前
|
JavaScript 前端开发 UED
Javaweb之javascript的小案例的详细解析
通过上述步骤,我们得到了一个动态更新的实时时钟,这个简单的JavaScript案例展示了定时器的使用方法,并讲解了如何处理日期和时间。这个案例说明了JavaScript在网页中添加动态内容与交互的能力。对于涉足JavaWeb开发的学习者来说,理解和运用这些基础知识非常重要。
41 11
|
3月前
|
JavaScript API 图形学
一个案例带你从零入门Three.js,深度好文!
【8月更文挑战第1天】本教程无需任何Threejs知识!本教程以入门为主,带你快速了解Three.js开发
78 2
一个案例带你从零入门Three.js,深度好文!
|
3月前
|
前端开发 JavaScript 开发者
fuse.js前端搜索简单使用的三个案例
通过这三个例子可以看出,Fuse.js 是一个功能丰富、易于实现的前端搜索库。它使开发者能够便捷地实现从基础到高级的搜索功能,无论是简单的列表搜索还是实时的搜索建议,都能够高效、精确地提供给用户所需的信息。
148 0
|
3月前
|
JavaScript 前端开发 开发者
Vue.js 2 项目实战(四):成绩案例
Vue.js 2 项目实战(四):成绩案例
|
3月前
|
JavaScript 前端开发 开发者
Vue.js 2 项目实战(三):综合案例-小黑记事本
Vue.js 2 项目实战(三):综合案例-小黑记事本
|
3月前
|
JavaScript 前端开发 开发者
Vue.js 2 项目实战(二):图书管理案例
Vue.js 2 项目实战(二):图书管理案例
|
3月前
|
JavaScript 前端开发 开发者
Vue.js 2 项目实战(一):图片切换案例
Vue.js 2 项目实战(一):图片切换案例
|
3月前
|
数据采集 存储 JavaScript
JS逆向案例:巨潮资讯数据采集
JS逆向案例:巨潮资讯数据采集
42 0