我正在尝试为jQuery slide.Toggle函数创建一个标识符。我在php中运行一个循环来打印值,这些都有一个按钮和一个div应该能够滑动。切换。
到目前为止,我已经尝试了,但没有运气,在php:
<?php $rooms_array = sizeof($rooms) - 1;
for ($i = 0; $i <= $rooms_array; $i++) { ?>
<div style="margin-left:6px;" id="show_more<?php echo $i + 1; ?>">Foo Button</div>
<div id="more_room_info<?php echo $i + 1; ?>" class="meetingroomInfoHide">
<?php echo $rooms[$i]['description'] ?>
</div>
<?php } ?>
jQuery:
$('#show_more' + 1).click(function(){
$('#more_room_info' + 1).stop().slideToggle('slow');
return false;
});
所以上面的代码可以工作,但只适用于循环创建的第一个div。这是因为&#34; + 1&#34; identifyer。我已经尝试过运行&#39; for -loop,但这不起作用,因为我需要&#39; for -loop超出click功能,然后代码赢了&# 39;运行代码,因为它只是在加载页面时运行for循环。
我遇到麻烦的地方是jQuery。我如何制作&#34;#show_more&#34; be&#34;#show_more1&#34;,&#34; #more_room_info&#34; be&#34; #more_room_info1&#34;,有某种循环?
从技术上讲,我可以将代码制作50次,然后更改&#34; + 1&#34;,但这不会很好。
此致 帕特里克
答案 0 :(得分:0)
所以,我经过一些不同的尝试后找到了解决方案。 对于任何发现自己处于同一问题的人来说,这是我的解决方案。
jQuery
function initialise() {
for (var i = 1; i < 20; i++) {
meetingroomInfo(i);
}
}
function meetingroomInfo(roomId) {
$('#show_more' + roomId).click(function(){
$('#more_room_info' + roomId).stop().slideToggle('slow');
return false;
// var not_hide = document.getElementById("more_room_info");
// not_hide.className = not_hide.className - "meetingroomInfoHide";
});
}