html页面仿投票效果,怎么做

html-css08

html页面仿投票效果,怎么做,第1张

用Cookie来记录最后一次投票的时间,每次投票时就和当前时间作对比,可以防止重复投票,票数也用Cookie来记录,但只能对同一台机器有效了。我只能给你设置和读取Cookie的代码,怎么用只是取决于你的业务逻辑,很简单自己实现吧。/*设置cookie@param cookieName -- Cookie名称@param cookieValue -- Cookie的值*/

function setCookie(cookieName, cookieValue) {

if(cookieValue == "") {

return

}

var date = new Date()

date.setTime(date.getTime()+1000*(60*60*24*10)) //设置cookie过期时间

document.cookie = cookieName + "=" + escape(cookieValue) + "expires=" + date.toGMTString()

}/*根据cookie名称读取cookie的值@param cookieName -- Cookie名称*/function readCookieValue(cookieName) {

var v = document.cookie

var start1 = v.indexOf(cookieName)

if(start1 == -1) { //没有找到对应名称的Cookie

return ""

}else {

var start = v.indexOf("=",start1)+1

var end = v.indexOf("",start)

return unescape(v.substring(start,end))

}

}

Http头信息。一个表单在提交后会被转换成http头信息,比如你有一个 from1,里面有二个文本框a,b.在提交后A,B会被转成一段信息附加到http头,然后请求这个URL并发送这个头信息,远程服务器则可以通过http hander获取你提交的AB信息

<!DOCTYPE html>

<html>

<head>

<meta charset="UTF-8">

<title>动漫投票</title>

</head>

<!-- 这里使用了一张背景,注释掉了。

<body style="background-image:url(body.jpeg) background-size:100% background-repeat: no-repeat">

 -->

 <body>

    <div align="center"><img src="head2.jpg" /></div>

    <div  align="center">

    <h4>热门动漫投票</h4>

        <table id="main" >

            <tr >

                <td>

                    <input type="radio" name="option" checked="checked"/>猫和老鼠

                </td>

            </tr>

            <tr>

                <td style="width:550px">

                    <div id=0 style="background-color:#acd6ff width:0 height:20px border-width:0px">

                    </div>

                </td>

                <td>

                    <label id="label0">0</label>票

                </td>

            </tr>

            <tr>

                <td>

                    <input type="radio" name="option"  />海贼王

                </td>

            </tr>

            <tr >

                <td>

                    <div id=1 style="background-color:#0066cc height:20px width:0 border-width:0px border-color:blue border-style:solid  text-align:right" ></div>

                    

                </td>

                <td>

                <label id="label1">0</label>票

                </td>

            </tr>    

            <tr >

                <td>

                    <input type="radio" name="option"  />喜羊羊

                </td>

            </tr>

            <tr >

                <td>

                    <div id=2 style="background-color:#ff7575 height:20pxwidth:0  border-width:0px border-color:blue border-style:solid  text-align:right" ></div>

                    

                </td>

                <td>

                <label id="label2">0</label>票

                </td>

            </tr>    

            <tr>

                <td>

                    <input type="radio" name="option" />其他

                </td>

            </tr>

            <tr >

                <td>

                    <div id=3 style="background-color:#5cadadheight:20pxwidth:0 border-width:0px border-color:blue border-style:solid  text-align:right" ></div>

                    

                </td>

                <td>

                <label id="label3">0</label>票

                </td>

            </tr>

        

            <tr>

                <td><p>

                    <input type="submit" value="确认投票" onclick="vote()"/>        

                </td>

            </tr>

        </table>

    </div>

</body>

<script type="text/javascript">

 

    //在每个投票选项后面写了个div,用div的宽度来代表当前该选项的投票数。

    function vote(){    //函数vote,当点击确认投票的时候,调用vote方法

        

        //for循环的条件是,所有投票选项的个数。

        for(var i = 0 i < document.getElementsByName("option").length i++){

            

            //查找到是哪个投票选项被选中

            if(document.getElementsByName("option")[i].checked == true){

                var width = document.getElementById(i).style.width    //获取到当前选项的宽度。

                width = parseInt(width)//将宽度转化为int型,因为获取到的width的单位是px

                width += 3//改变width的值,这里就是定义每次投票的进度条的增速

                document.getElementById(i).style.width = width+"px"//修改原div的宽度

                

                var label = "label"+i//lable标签里面写的是当前的投票数目。

                var num = document.getElementById(label).innerText//获取到当前的票数

                document.getElementById(label).innerText = ++num//票数加1,并修改原值

            }

        }

 

        //alert("投票成功")

        

    }

 

</script>

</html>

--------------------- 

作者:王Bob 

来源:CSDN 

原文:https://blog.csdn.net/u011215133/article/details/51068484 

版权声明:本文为博主原创文章,转载请附上博文链接!

可以看看这个一个简单的投票系统,可以参考下。