如何为jQuery slide.Toggle函数制作标识符

时间:2014-08-11 14:02:56

标签: javascript jquery

我正在尝试为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;,但这不会很好。

此致 帕特里克

1 个答案:

答案 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";
    });
}