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..我写一万次太郁闷了。。 展开
$(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..我写一万次太郁闷了。。 展开
展开全部
用脚本写,在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} });
}
<%
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} });
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你好!
我理解你的意思想要动态生成一些<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} });
});
})
$("a").each(function(i){
$(this).click(function(){
$.scrollTo( 'li:eq('+i+')', 1000, {offset: {top:-5, left:-100} });
});
})
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询