怎么传参数给jquery函数

<a href="#" onClick="click_scroll();">滚动</a>
上面这个是一个a标签,点击后可以滚动到页面指定的位置,这是通过jquery的动画取巧实现的,代码是可以执行的

<script type="text/javascript">
function click_scroll() {
var scroll_offset = $(“#here”).offset();
$("body,html").animate({scrollTop:scroll_offset.top},300);
}
</script>

<div style="height:500px" ></div>
<div id="here">点击后滚动到这里</div>
以上代码可以运行
那么下面问题来了
如果有多个按钮(a标签)我想滚动到别的位置,该怎么办,一开始我是这么想的:
<a href="#" onClick="click_scroll(#here1);">滚动到here1</a>
<a href="#" onClick="click_scroll(#here2);">滚动到here2</a>
<script type="text/javascript">
function click_scroll(a) {
var e = $(a);

var scroll_offset = $(a).offset();
$("body,html").animate({scrollTop:scroll_offset.top},300);
}
</script>

<div style="height:500px" ></div>
<div id="here1">点击后滚动到here1</div>
<div id="here2">点击后滚动到here2</div>
后来发现,我想多了,,各大神,在吗,,看到吗,帮帮我~~~该怎么做

<a href="#" onClick="click_scroll('here1');">滚动到here1</a>
<a href="#" onClick="click_scroll('here2');">滚动到here2</a>
<script type="text/javascript">
function click_scroll(a) {
var e = $('#'+a);

var scroll_offset = e.offset();
$("body,html").animate({scrollTop:scroll_offset.top},300);
}
</script>

<div style="height:500px" ></div>
<div id="here1">点击后滚动到here1</div>
<div id="here2">点击后滚动到here2</div>追问

好像不行啊伙计~

追答

你这样就可以看出效果了:

点击后滚动到here1
点击后滚动到here2

追问

看错了,,你的代码实测可行,分割给你了=,='

温馨提示:内容为网友见解,仅供参考
第1个回答  2014-10-11
无论你怎么来实现多个滚动效果,你body的滚动条只有一个,真正的滚动到的位置是最后一个滚动的。前面的会依次被后面的给覆盖掉。
就好比你定义变量var a=1;你需要吧a赋值成a=2,然后再赋值成a=3;那最后a的值就是3......追问

先帮我解决当前问题吧

追答

我说的就是解决方案,你2个按钮都想要滚动条滚动到各自的位置,你觉得可能么?就好比2个人都需要你在同一时到达他们的身边,你能够做的到?!除非你分别操作的是不同的div之类的滚动条,而不是body的滚动条

追问

谢谢你了,我还要多学学啊

jquery 怎么引用一个方法并传递参数
用闭包+匿名函数吧 ("button").bind("click",function(e){ \/\/这里通过对e的处理得到你的待传参数值 para = e.target.foo abc(para)})-- 可能我没理解你的意思 按钮是什么?是组件的一部分还是随便写在html里的?如果是一部分那么你可以用this指向组件对应的方法调用吧 如果不是的话,你也可...

jQuery传参数
;2.使用bind传递参数 var name_value='stonecold';$('p').bind('click',{name:name_vlaue},function(event){console.log(event.data.name);\/\/结果在控制台上显示为stonecold});3.在简单的事件中传递参数 A:首先定义一个函数,在点击的时候触发:function fn_name(arg1){$(arg1).appendTo('...

jquery 如何给函数传参数
循环生成列表的时候为Button加属性就可以了 <input class="button" type="button" value="按钮名称" myvalue="<%=name%>"\/> 不需要each就可以为每个class=button的按钮添加click事件的 (".button").click(function(){ var name = $(this).attr("myvalue");alert(name);});...

如何给JQ的ajax方法中的success传入参数
jQuery ajax - post() 方法: 1、定义和用法: post() 方法通过 HTTP POST 请求从服务器载入数据。 2、语法: jQuery.post(url,data,success(data, textStatus, jqXHR),dataType)url :必需。规定把请求发送到哪个 URL。 data :可眩映射或字符 ...

jquery ajax怎么通过header传递参数
首先的首先,涉及业务逻辑的输入是需要通过参数传递的,主要有三种方法:path, query, POST\/PUT body path: GET \/api\/user\/123 其中的123通过path传递 query: GET \/api\/search_user?userId=123 body: POST \/api\/user-signup {username: 'john'} 不建议通过header传参的原因:1. proxy 和 ...

jquery给当前url传参(jqueryurl参数)
jQuery使用URL传参建议哈,先encodeURI一下再去拼接url,再去目标的decode一下。return}}通过这个函数传递url中的参数名就可以获取到参数的值。location.search;\\x0d\\x0avarloc=urlParam.substring(urlParam.lastIndexOf(=)+1,urlParam.length);\\x0d\\x0a如果是多个参数可以分布切割,得到多个键值...

jquery 函数的参数为Datalist控件,如何传参数?
jquery中,所有的html标签都可以被包装为jQuery对象:var dtlist = $("datalist"); \/\/或者datalist 的class、id等属性 自定义函数的参数为jQuery对象,传递参数的时候直接使用 dtlist 就可以。

jquery怎么实现页面之间传递参数?
1、post是不行的,用get的话,还是可以的,如aa.html?data=data 这样,在aa.html里面,再用js来解析当前的url就可以获取到data了。2、一句话概括,纯html页面之间的传值可以通过url后面的参数进行比如:b.html?teacher=xx&time=xxx。3、回到问题中,首先从a.html到b.html需要一个跳转方式,比方...

...使用JQuery,怎么才能使用地址栏传递参数,并且链接到的网页不显示扩展...
用location.href='网页相对路径' 就可以了 传递参数 就是在地址后面,加就是了 比如index.html?id=1&classNo=012 这就传递了参数啊 ID 和classNo 如果要链接到的网页不显示扩展名 JS 貌似无能为力啊,只能在项目中后台工程项目做手脚了,如果你是用。net的话 我可以教你 ...

JQuery .each(function(i){怎么往里带参数?})
.each( ['cat','dog','monkey'], function(index, item){ \/\/ item 即是数组中的元素了。});ps:这种问题直接查官方文档就能解决,不需要猜。

相似回答