jquery重复性的代码简化。

<scripttype="text/javascript">$(function(){$("#li-01").click(function(){$.scrollTo('l... <script type="text/javascript">
$(function(){
$("#li-01").click( function (){
$.scrollTo( 'li:eq(0)', 1000, {offset: {top:-5, left:-100} });
});

$("#li-02").click( function (){
$.scrollTo( 'li:eq(1)', 1000, {offset: {top:-5, left:-100} });
});

$("#li-03").click( function (){
$.scrollTo( 'li:eq(2)', 1000, {offset: {top:-5, left:-100} });
});

$("#li-04").click( function (){
$.scrollTo( 'li:eq(3)', 1000, {offset: {top:-5, left:-100} });
});
//下面还有几十个
});

</script>
</head>
<body>
<div><a id="#li-01">点击进入第一个li</a><a id="#li-01">点击进入第二个li</a><!----还有几十个----></div>
<div>
<ul>
<li>第一个</li>
<li>第二个</li>
<li>第三个</li>
<li>第四个</li>
<!-------还有几十个------------------->
</ul>
</div>
</body>
就是想简化$("#li-0x") 跟'li:eq("x-1")无限制循环下去。。如果有1万li..我写一万次太郁闷了。。
展开
 我来答
zhaoapk
2013-07-05 · TA获得超过3771个赞
知道大有可为答主
回答量:1343
采纳率:40%
帮助的人:1615万
展开全部
$(function () {
    var arrA = $("a").click(function () {
        $.scrollTo('li:eq(' + arrA.index(this) + ')', 1000, {
            offset: {
                top: -5,
                left: -100
            }
        });
    });
});
wxqlgd
2013-07-05 · TA获得超过7025个赞
知道小有建树答主
回答量:415
采纳率:0%
帮助的人:327万
展开全部
用脚本写,在body里边这样写:
<%
for(int i=0;i<10;i++){
out.print("<div>");

out.print("<a id='#li-0"+i+"'></a>");//自己看情况定,要输出几个i就小于多少

out.print("</div>");

}

for(int j=0;j<10;j++){
//这儿写法同上,自己根据自己的情况写。不会的追问

}
%>
在点击的时候将此div的i值传到js里边。比如在div中用onclick=a(i);
js中可以这样写:
function a(i){
$.scrollTo( 'li:eq(i-1)', 1000, {offset: {top:-5, left:-100} });

}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
阿刚炖蛋
2013-07-05 · TA获得超过3004个赞
知道大有可为答主
回答量:1789
采纳率:92%
帮助的人:1002万
展开全部

你好!

我理解你的意思想要动态生成一些<a>标签,并且使其click与对应位置的li进行互动吧。

可以参考下面代码···

$(document).ready(function(){
     //遍历li元素
     $.each($("ul>li"),function(index){
            //获取li元素索引,个位数补0
            var indexNum = index<10?"0"+index:index;
            //遍历中的li元素
            var _li               = $(this);
            //生成<a>标签并为其绑定click事件
            var tmpA         = $("<a id='#li-"+indexNum+"'>点击进入"+_li.text()+"li</a>");
            tmpA.on("click",function(){
                   $.scrollTo( _li, 1000, {offset: {top:-5, left:-100} });
            });
            //追加到<div>中,为了容易定位,"tagA"是这个DIV的id.
            $("#tagA").append(tmpA);
            $("#tagA").append("<br/>");
     });
});


ps:一般情况下不推荐元素的ID属性中出现特殊符号,比如这里<a>标签中的'#',

       当然在这种情况下,依然是可以通过选择器获得到,比如$("#\\#li-00") 这种方式获取。



希望对你有帮助!!

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2013-07-05
展开全部
大概是这个思路,a标签可以再限定一下条件。
$("a").each(function(i){
$(this).click(function(){
$.scrollTo( 'li:eq('+i+')', 1000, {offset: {top:-5, left:-100} });
});
})
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式