首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > CSS >

和诡异的有关问题,求大神解答

2013-01-28 
和诡异的问题,求大神解答啊headscript typetext/javascript$(function() {bindResize(document.get

和诡异的问题,求大神解答啊

<head>
    <script type="text/javascript">
        $(function() {
            bindResize(document.getElementById('menu'));
            //树形菜单
            $("#browser").treeview();
            //分页开始
            var ymym;
            //页面索引 b=0
            var ymsy = 0;
            //显示行数a=10
            var xshs = 10;
            //总行数 c=100
            var zhs;
            //分页参照
            var scc = 1;
            var sclen = 10;
            var cs = 1;
            //节点单击事件
            $('#Button1').click(function() {
                alert('dblclick');
                $(this).addClass("select").parent().siblings().children().removeClass("select");
                $('#sp1>span').remove();
                ymsy = 0;
                xshs = 10;
                scc = 1;
                sclen = 10;
                cs = 1;
                $('table>tbody>tr>td').remove();
                $.post('dataServers.ashx', { ccid: "h_xuxu" }, function(data) {
                    var html = '';
                    for (i = xshs * ymsy; i < xshs * (ymsy + 1); i++) {
                        html += '<tr><td>' + data[i].id + '</td><td>' + data[i].category + '</td><td>' + data[i].name + '</td></tr>';
                    }


                    $('.gridtable1').append(html);
                    //初始化分页HTML,读取总页数
                    $.post('dataServers.ashx', { ccoid: 'h_xuxu' }, function(data) {
                        zhs = data;
                        fy(zhs, xshs, ymsy, cs);
                        //显示页码xsym
                        xsym(ymsy);
                    }, 'json');
                    //点击一次下一页
                    $('#next').click(function() {
                        alert('下一页' + ymsy);
                        //点击下一页
                        ymsy = ymsy + 1;
                        //                        alert('ymsy=' + ymsy);
                        var pf = parseFloat(zhs / xshs);
                        alert('pf=' + pf);
                        //当返回数据为10的整数行 
                        if (ymsy == pf) {
                            ymsy = parseInt(zhs / xshs) - 1;
                            alert("=" + ymsy);
                            alert('已经是最后一页!');
                        }
                        //当返回数据为非10的整数行


                        else if (ymsy > parseFloat(zhs / xshs)) {
                            ymsy = parseInt(zhs / xshs);
                            alert(">" + ymsy);
                            alert('已经是最后一页!');
                        }
                        //当返回数据为最后一行
                        else if (ymsy == parseInt(zhs / xshs)) {
                            alert("last" + ymsy);
                            $('#last').trigger('click');
                        }
                        else {
                            //数据读到第11页时切换span
                            aaa(10, ymsy);
                            if (ymsy == 10 * cs) {
                                alert('==' + ymsy);
                                nfy(zhs, xshs, ymsy, cs);
                                cs += 1;
                            }
                        }
                        //显示页码xsym
                        xsym(ymsy);
                    });


                    //点击上一页
                    $('#prev').click(function() {
                        alert('上一页' + ymsy);
                        //点击上一页
                        ymsy = ymsy - 1;
                        if (ymsy < 0) {
                            ymsy = 0;
                            alert('已经是第一页!');
                        }
                        else {
                            //                            alert('sYS' + ymsy);
                            //当页面索引>10,单击上一页回到初始span
                            var htmSpan = "";
                            //                            alert('Scs' + cs);
                            if (ymsy == 10 * (cs - 1) - 1) {
                                $('#sp1>span').remove();
                                fanYe((cs - 2) * 10 + 1, ymsy + 1, htmSpan);
                                cs--;
                            }
                            aaa(10, ymsy);


                        }
                        //显示页码
                        xsym(ymsy);
                    });
                    //首页
                    $('#first').click(function() {
                        ymsy = 0;
                        var htmSpan = "";
                        //如果<9
                        if (zhs / xshs < 9) {
                            $('#sp1>span').remove();
                            fanYe(ymsy + 1, parseInt(zhs / xshs) + 1, htmSpan);
                            cs = 1;
                        }
                        //如果>=9
                        else {
                            $('#sp1>span').remove();
                            fanYe(ymsy + 1, ymsy + 10, htmSpan);
                            cs = 1;
                        }
                        aaa(10, ymsy);
                        //显示页码
                        xsym(ymsy);
                    });


                    //尾页
                    $('#last').click(function() {
                        ymsy = zhs / xshs;
                        //span翻页
                        var htmSpan = "";
                        cs = parseInt(ymsy / 10) + 1;
                        if (zhs % xshs == 0) {
                            $('#sp1>span').remove();
                            fanYe((cs - 2) * 10 + 1, zhs / xshs, htmSpan)
                            //重置cs的值
                            ymsy = parseInt(ymsy) - 1;
                            lastaaa(10, ymsy, zhs);
                        } else {
                            $('#sp1>span').remove();
                            fanYe(parseInt(zhs / (10 * xshs)) * 10 + 1, parseInt(zhs / xshs) + 1, htmSpan);
                            ymsy = parseInt(ymsy);
                            lastaaa(10, ymsy, zhs);
                        }
                        //                        alert('YMSY' + ymsy);
                        //显示页码
                        xsym(ymsy);


                        //                        alert(cs);
                    });
                    //表格隔行变色
                    $('tbody>tr:odd').addClass('odd');
                    $('tbody>tr:even').addClass('even');
                }, 'json');
            });

        })
    </script>
</head>
<body>
<div id="header">
<div id="head">
</div>
</div><%--内容--%>
<div id="contents">
<div id="menu">
<div id="menu1">
<ul id="browser" class="filetree treeview-famfamfam">
<li><span class="folder">信息</span>
<ul>
<li><span class="folder">用户</span>
<ul>
<li><span class="file">0</span></li>
<li><span class="file">1</span></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
<div id="roll"></div>
</div>
    <div id="content">
<div id="cxtj"><em>
        <input id="Button1" type="button" value="Click" /></div>
<div id="Div1">
        <table class="gridtable1" title="">
            <tr>
                <th>Id</th>
                <th>Category</th>
                <th>Name</th>
            </tr>
            <tr><td colspan="3">暂无数据!</td></tr>
        </table>
</div>
<div id="fenYe">
<div>< <span id="first">首页</span> <span id="prev">上一页 </span><em id="sp1"></em>
<span id="next">下一页</span> <span id="last">尾页</span> ></div>
</div>
</div>
</div>     
</body>
</html>
以下是js,//根据行索引绑定数据
function aaa(xshs, ymsy, zhs) {
    $('table>tbody>tr>td').remove();
    $.post('dataServers.ashx', { ccid: "h_xuxu" }, function(data) {
        var html = '';
        for (i = xshs * ymsy; i < xshs * (ymsy + 1); i++) {


            html += '<tr><td>' + data[i].id + '</td><td>' + data[i].category + '</td><td>' + data[i].name + '</td></tr>';
        }
        $('.gridtable1').append(html);
    }, 'json');
}
//尾页处理
function lastaaa(xshs, ymsy, zhs) {
    $('table>tbody>tr>td').remove();
    $.post('dataServers.ashx', { ccid: "h_xuxu" }, function(data) {
        var html = '';
        for (i = xshs * ymsy; i < zhs; i++) {
            html += '<tr><td>' + data[i].id + '</td><td>' + data[i].category + '</td><td>' + data[i].name + '</td></tr>';
        }
        $('.gridtable1').append(html);
    }, 'json');
}
/*翻页方法*/
//翻页核心方法
function fanYe(scc, sclen, htmSpan) {
    for (var i = scc; i <= sclen; i++) {
        htmSpan += '<span class=i' + i + '>[' + i + ']</span>';
    }
    $('#sp1').append(htmSpan);
}
//初始化翻页
function fy(zhs, xshs, ymsy, cs) {
    //判断页面是否大于10页
    var htmSpan = '';
    if (zhs / xshs > 10 * cs - 1) {
        //加载显示1-10span
        fanYe(ymsy + 1, 10 * cs, htmSpan);
    } else {
        fanYe(ymsy + 1, parseInt(zhs / xshs) + 1, htmSpan);
    }
}
//点击下一页翻页
function nfy(zhs, xshs, ymsy, cs) {
    var htmSpan = "";
    if (ymsy == 10 * cs) {
        //如果有后十页
        if (parseInt(zhs / xshs) > 10 * (cs + 1) - 1) {
            $('#sp1>span').remove();
            htmSpan = '';
            fanYe(ymsy + 1, ymsy + 10, htmSpan);
            //                    alert('>' + cs);
        } else if (zhs % xshs == 0 && zhs / (xshs * 10) > cs) {
            $('#sp1>span').remove();
            htmSpan = '';


            fanYe(ymsy + 1, ymsy + 10, htmSpan);
            //                alert('='+cs);
        } else if (zhs % xshs == 0 && zhs / (xshs * 10) == cs) {
            alert('已经是最后一页!');
        }
        //没有后十页
        else {
            $('#sp1>span').remove();
            htmSpan = '';
            fanYe(ymsy + 1, parseInt(zhs / xshs) + 1, htmSpan);
            //                        alert('<'+cs);
        }
    }
}
//显示页码
function xsym(ymsy) {
    //页面页码ymym
    ymym = ymsy + 1;
    //移出其他页面selected
    $('#sp1>span').removeClass('selected');
    //初始当前页面页码ymsy+1
    $('#sp1>span.i' + ymym + '').addClass("selected");
}
遇到的问题是,第一次点击$('#Button1')的时候,代码逻辑正常,可以正常翻页,当再次点击$('#Button1')时,ymsy的值,不能重置为0,单击下一页,会触发2次下一页的事件。求jQuery高手解答!!! jquery?ajax
[解决办法]
重复绑定事件,应该判断是否已经绑定过事件了,可以用全局变量判断。
[解决办法]


引用:
引用:重复绑定事件,应该判断是否已经绑定过事件了,可以用全局变量判断。
具体怎么判断,求详细说明啊

var button1Click = false;
$('#Button1').click(function(){
  if(!buttonClick)
 {
     buttonClick=true;
     //原来绑定的事件的代码
 }
});
[解决办法]
引用:
引用:引用:引用:重复绑定事件,应该判断是否已经绑定过事件了,可以用全局变量判断。
具体怎么判断,求详细说明啊
var button1Click = false;
$('#Button1').click(function(){
  if(!buttonClic……

可以给btn加上属性,使用setAttribute("clicked",true),
当getAttribute("clicked")为false或者未定义时,认为没有绑定过,否则任务绑定过。

热点排行