我需要一些帮助将参数传递给jquery函数。我有一个带有
的html标题onclick="slide(#aboutit);"
我在标题中创建了一个函数
<script type="text/javascript">
function slide(element){
var slid = element;
slid.slideToggle("slow");
}
</script>
由于某些我不明白的原因,这是行不通的。如果不是我使用
,我可以让它工作function slide(){
$('#aboutit').slideToggle("slow");
}
但我不想为网站的每个部分创建一个新的滑动功能。
提前致谢。
答案 0 :(得分:2)
您的代码slide(#aboutit);
无效。你可以做的是slide($('#aboutit'))
。
答案 1 :(得分:0)
使用jQuery,您可以使用文档就绪函数在绘制DOM时加载项目。然后将所有项目放在document.ready()函数中。
<script type="text/javascript">
jQuery(document).ready(function() {
$('#aboutit').slideToggle("slow");
$('#anotherdiv').slideToggle("slow");
$('#yetanotherdiv').slideToggle("slow");
});
</script>
以上假设您在运行document.ready()函数之前调用了jquery核心。
尽管如此,您很可能还需要一些其他功能。否则,您的内容只需在页面加载时滑动。如果那是你想要的。大。如果您想在点击上滑动,则需要调用点击功能:
<script type="text/javascript">
jQuery(document).ready(function() {
$('#aboutit').click(function(){
$(this).slideToggle("slow");
});
});
</script>
答案 2 :(得分:0)
我知道你已经接受了一个解决你的代码的两个问题的答案(不带引号的字符串以及你的slide()
函数期望jQuery对象不是字符串的事实),但是因为你提到了这个:
我不想为网站的每个部分创建一个新的滑动功能
而不是为要滑动的每个元素编码onclick
,而不必像在当前代码中那样单独指定元素的id:
onclick="slide($('#elementid'));"
如果您为要滑动的所有元素(无论它们的类型)分配了一个公共类,您的代码将更加简单和易于维护,如下所示:
<h1 class="slideMe">A heading</h1>
<div class="slideMe">A div</div>
<h2 class="slideMe otherclass">Note elements can have multiple classes</h2>
<p class="slideMe">And so on and so forth</p>
因为那时你可以通过编写一行代码来分配基于该类的点击处理程序,将幻灯片功能应用于所有。需要在文件中(或在身体的最后):
$(document).ready(function() {
$(".slideMe").click(function() {
$(this).slideToggle("slow");
});
});
请注意,这几乎比现有的slide()
函数长。单击单个项目时,它将滑动。容易。
另请注意,如果您随后添加了需要播放的其他元素,则无需为其提供id
属性,然后将onclick
与slide()
调用{ id
,您只需添加“slideMe”类,它就会自动发生。