网上找到一段自动编号代码,但无法调节,请高手帮忙

epoecq 2013-03-18 01:11:00
下面的代码内,想用两块按钮把一行代码(visits =parseInt(visits)+1)或(visits =parseInt(visits)-1)交替使用的方式调节,其中,一个按钮注入代码 visits =parseInt(visits)+1 另一个按钮注入代码 visits =parseInt(visits)-1这样,当按前一个按钮时,编号就增加一次,当按后一个按钮时,编号就减少一次。通过交替按前后两个按钮的方式调节编号的大小。代码修改位置在下面的代码中已用红色表示,请高手想办法将该位置上的代码改一下,使它变成能通过两个按钮实现调节编号的大小。





<script language="JavaScript">
<!--
var caution = false
function setCookie(name, value, expires, path, domain, secure) {
var curCookie = name + "=" + escape(value) +
((expires) ? "; expires=" + expires.toGMTString() : "") +
((path) ? "; path=" + path : "") +
((domain) ? "; domain=" + domain : "") +
((secure) ? "; secure" : "")
if (!caution || (name + "=" + escape(value)).length <= 4000)
document.cookie = curCookie
else
if (confirm("Cookie exceeds 4KB and will be cut!"))
document.cookie = curCookie
}
function getCookie(name) {
var prefix = name + "="
var cookieStartIndex = document.cookie.indexOf(prefix)
if (cookieStartIndex == -1)
return null
var cookieEndIndex = document.cookie.indexOf(";", cookieStartIndex + prefix.length)
if (cookieEndIndex == -1)
cookieEndIndex = document.cookie.length
return unescape(document.cookie.substring(cookieStartIndex + prefix.length, cookieEndIndex))
}
function deleteCookie(name, path, domain) {
if (getCookie(name)) {
document.cookie = name + "=" +
((path) ? "; path=" + path : "") +
((domain) ? "; domain=" + domain : "") +
"; expires=Thu, 01-Jan-70 00:00:01 GMT"
}
}
function fixDate(date) {
var base = new Date(0)
var skew = base.getTime()
if (skew > 0)
date.setTime(date.getTime() - skew)
}
var now = new Date()
fixDate(now)
now.setTime(now.getTime() + 365 * 24 * 60 * 60 * 1000)
var visits = getCookie("counter")
if (!visits)
visits = 1
else
visits =parseInt(visits)+1
setCookie("counter", visits, now)
document.write("00000"+ visits +"")
// -->
</script>
...全文
638 26 打赏 收藏 转发到动态 举报
写回复
用AI写文章
26 条回复
切换为时间正序
请发表友善的回复…
发表回复
bianchenglainiao 2013-03-23
  • 打赏
  • 举报
回复
问题出现在职14楼改的var totalLen = 10;上————打错了,改为:问题出在14楼改的var totalLen = 10;上。至于楼主插入此JS后无法变更此代码的字体大小,原因也可能是因楼主合计中已设置并运行了字体大小的代码,但此JS里的某些代码因与楼主的合计所用代码重复,所以因重复而失效,无法再设置字体大小了。
bianchenglainiao 2013-03-23
  • 打赏
  • 举报
回复
问题出现在职14楼改的var totalLen = 10;上,可能是此代码中的total与合计中的total相冲突,此代码被执行后合计中的total也就失效了。这样插入此代码后,合计计算自然也就不起作用了。
epoecq 2013-03-23
  • 打赏
  • 举报
回复
还有一个问题是,您这段代码所产生的数字,无法改变数字大小,我试了多次,无论想从JS外边改,还是从JS里边改,都不行。不知哪个部分限制了改动字体大小。请帮我看看。原来的代码是很容易改变数字大小与颜色的。
epoecq 2013-03-23
  • 打赏
  • 举报
回复
我用iframe把您那JS网页插入相应的部位试了一下,问题就解决了。您那JS已不再与网页里的其它JS冲突了。谢谢。
epoecq 2013-03-22
  • 打赏
  • 举报
回复
加减按钮设在编号上方或下方,都不太好,请把它排到编号后边去,就象我上边发的图片中的那样。不知为什么,我调了多次,还是没法把它调到编号后边。
functionsub 2013-03-22
  • 打赏
  • 举报
回复
引用 20 楼 epoecq 的回复:
加减按钮设在编号上方或下方,都不太好,请把它排到编号后边去,就象我上边发的图片中的那样。不知为什么,我调了多次,还是没法把它调到编号后边。
简单点用table吧。
<table>
<tbody><tr><td><div id="counter"></div></td><td><input type="button" id="add" value="加">
<input type="button" id="reduce" value="减"></td></tr>
</tbody></table>
HTML改成这样,JS不变。
epoecq 2013-03-22
  • 打赏
  • 举报
回复
您这样的方式,我早已试过了,行是行,但有些地方插入时,编号就不显示了,可能是出现冲突。不知其中哪个ID与别的JS里的ID相同,从而导致出现编号时表格的合计运算就失效,不计算了。当移到网页上部时,合计运算正常了,但编号却不显示了。唉,编程这东西真让人头痛。出了问题,也不知是哪个代码在起作用。
epoecq 2013-03-21
  • 打赏
  • 举报
回复
按您的意思试过,没什么效果,你最好把一楼代码复制下来,然后把您的代码插进去,试试。
functionsub 2013-03-21
  • 打赏
  • 举报
回复
var totalLen = 10; 这行是控制显示的总位数的,低于10位,前面自动补0,超过10位就正常显示了。 根据自己需求调整去。 还有我是做了限制,数字不会小于0,如果到0你还点减就变成1了。
epoecq 2013-03-21
  • 打赏
  • 举报
回复
现在可以了,谢谢。
functionsub 2013-03-21
  • 打赏
  • 举报
回复



你要说你就是不允许,那我就没办法了。

epoecq 2013-03-21
  • 打赏
  • 举报
回复
反正你这代码,就是放到我的网站里的网页上,也一样只显示两个按钮,根要不显示号码。我这本地用的网页里,就含有大量JS,都正常,怎么你这代码就不正常了呢?
functionsub 2013-03-21
  • 打赏
  • 举报
回复
引用 13 楼 epoecq 的回复:
我这是在本地用的,用不着上传到空间上的网页里试。
你本地就没提示你要不要允许么?你不允许脚本,你跑什么JS?
functionsub 2013-03-21
  • 打赏
  • 举报
回复
<input type="button" id="add" value="加"/>
<input type="button" id="reduce" value="减"/>
<div id="counter"></div>
<script type="text/javascript">
    var caution = false;
    function setCookie(name, value, expires, path, domain, secure) {
        var curCookie = name + "=" + escape(value) + 
                                ((expires) ? "; expires=" + expires.toGMTString() : "") + 
                                ((path) ? "; path=" + path : "") + 
                                ((domain) ? "; domain=" + domain : "") + 
                                ((secure) ? "; secure" : "") ;
        if (!caution || (name + "=" + escape(value)).length <= 4000) 
            document.cookie = curCookie 
        else 
            if (confirm("Cookie exceeds 4KB and will be cut!")) 
                document.cookie = curCookie 
    }
    function getCookie(name) { 
        var prefix = name + "=" 
        var cookieStartIndex = document.cookie.indexOf(prefix) 
        if (cookieStartIndex == -1) 
            return null 
        var cookieEndIndex = document.cookie.indexOf(";", cookieStartIndex + prefix.length) 
        if (cookieEndIndex == -1) 
            cookieEndIndex = document.cookie.length 
        return unescape(document.cookie.substring(cookieStartIndex + prefix.length, cookieEndIndex)) 
    }
    function deleteCookie(name, path, domain) {
        if (getCookie(name)) { 
            document.cookie = name + "=" + 
                                    ((path) ? "; path=" + path : "") + 
                                    ((domain) ? "; domain=" + domain : "") + 
                                    "; expires=Thu, 01-Jan-70 00:00:01 GMT" 
        } 
    }
    function fixDate(date) {
        var base = new Date(0) 
        var skew = base.getTime() 
        if (skew > 0) 
        date.setTime(date.getTime() - skew) 
    }
    var now = new Date();
    fixDate(now);
    now.setTime(now.getTime() + 365 * 24 * 60 * 60 * 1000);
    var totalLen = 10;
    function changeNum(num){
        var visits = getCookie("counter");
	var str = 'NO ';
        if (!visits || visits<=0){
            visits = 1;
        }else{
            visits =parseInt(visits)+num;
        }
	for(var i=0,len=visits.toString().length;i<totalLen-len;i++){
	    str += '0';
	}
        setCookie("counter", visits, now);
        document.getElementById('counter').innerHTML = str+visits;
    }
    window.onload = function(){
        document.getElementById('add').onclick = function(){
            changeNum(1);
        }
        document.getElementById('reduce').onclick = function(){
            changeNum(-1);
        }
	changeNum(0);
    }
</script>
样式自己调吧,功能就这样了
epoecq 2013-03-21
  • 打赏
  • 举报
回复
我这是在本地用的,用不着上传到空间上的网页里试。
epoecq 2013-03-21
  • 打赏
  • 举报
回复
也就是,按“加”时,此号变成0000457 如按“减”则变成0000455 每按一下,就增加或减少一个数( +1或-1)。明白了吗?
functionsub 2013-03-21
  • 打赏
  • 举报
回复
引用 9 楼 epoecq 的回复:
你自己试试看吧,把你的那段代码复制到记事本上,然后把文件*.txt 改成222.html.用IE打开,你就明白了。
呵呵。你倒是允许啊!Internet Explorer已限制此网页运行脚本或ActiveX控件。 你不让浏览器执行脚本,你跑什么JS? 这代码你传上服务器再试试看有没有!
epoecq 2013-03-21
  • 打赏
  • 举报
回复
本来的意思是想给一个计数用编号加上按钮来调节的。您可能把我的原意理解错了。
epoecq 2013-03-21
  • 打赏
  • 举报
回复
你自己试试看吧,把你的那段代码复制到记事本上,然后把文件*.txt 改成222.html.用IE打开,你就明白了。
functionsub 2013-03-21
  • 打赏
  • 举报
回复
引用 7 楼 epoecq 的回复:
试过了,不行,你这样,搞得连编号都没了,只出两个没任何作用的加减按钮,没什么用处。人家是想把计数编号用按钮调节的,而你这个只不过是两个没任何反应的按钮而已。
你确定按钮点了没用???? 这么简单的东西我还真不相信我会写错。
加载更多回复(6)

87,907

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧