javascript - 如何使用 javascript 扩展多级 div 并在 url 中保存扩展条件以用于链接共享或手动复制/过去

标签 javascript php jquery html css

大家好,所有 JavaScript 专家! 我搜索扩展多级 div 的解决方案,其中包含指向 doc/pdf 文件的链接,可以在扩展条件下复制/粘贴或共享 url 链接。我是 javascript 的新手,不确定它的实现方式。可能类似于“location.hash”和“on hashchange” 这是我用于在我的网站上展开/折叠多级 div 的代码:

$(document).ready(function(){   

$('.lib_element_sign_pos').toggle(function() {
    $(this).css("background-image", "url('/images/-.png')");
    if($(this).parent().parent().attr('class') == "lib_level_1")
        $(this).parent().parent().find('.lib_level_2').slideDown('slow');
    else if($(this).parent().parent().attr('class') == "lib_level_2")
        $(this).parent().parent().find('.lib_level_3').slideDown('slow');
    } , function() { 
    $(this).css("background-image", "url('/images/+.png')");
    if($(this).parent().parent().attr('class') == "lib_level_1")
        $(this).parent().parent().find('.lib_level_2').hide();
    else if($(this).parent().parent().attr('class') == "lib_level_2")
        $(this).parent().parent().find('.lib_level_3').hide();

});

    $('.lib_element_text').toggle(function() {
    $(this).parent().find('.lib_element_sign_pos').css("background-image", "url('/images/-.png')");
    if($(this).parent().parent().attr('class') == "lib_level_1")
        $(this).parent().parent().find('.lib_level_2').slideDown('slow');
    else if($(this).parent().parent().attr('class') == "lib_level_2")
        $(this).parent().parent().find('.lib_level_3').slideDown('slow');
    } , function() { 
    $(this).parent().find('.lib_element_sign_pos').css("background-image", "url('/images/+.png')");
    if($(this).parent().parent().attr('class') == "lib_level_1")
        $(this).parent().parent().find('.lib_level_2').hide();
    else if($(this).parent().parent().attr('class') == "lib_level_2")
        $(this).parent().parent().find('.lib_level_3').hide();

});

    $('.lib_element_about').click(function() {
        if($(this).next().css('display') == 'none')
            $(this).next().slideDown('100000');
        else
            $(this).next().hide();
        $('#lib_area').find('.lib_element_info').hide();
    } , function() { 
});

});

很乐意提供任何帮助。 提前致谢!

最佳答案

是否Jquery toggle - expand / collapse on multiple divs有帮助吗?

此外,这里有一些注意事项:

1) .find() 函数非常昂贵,您应该避免多次调用它。 2)您的代码似乎非常依赖于 DOM 节点的顺序(有很多 .parent().parent() 调用)。如果您曾经更改任何 DOM 节点的子节点的父节点,则必须在很多地方更改此函数。 3) 祝你好运:)

关于javascript - 如何使用 javascript 扩展多级 div 并在 url 中保存扩展条件以用于链接共享或手动复制/过去,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18976553/

相关文章:

php - 使用 PHP 使用用户的用户名和密码从外部更新 Facebook 状态

php - 用内容模拟上传的文件

Jquery 日期选择器

jquery - 使用 jQuery Ajax 设置自定义 header NAME

javascript - 合并语句和存储过程

javascript - 如何使用数据表动态更改行的字体大小?

javascript - 通过 Ajax 调用发送 bool 值时,PHP 将值作为字符串获取

javascript - AngularJS:遍历单选按钮组

javascript - 我应该如何循环/解析具有大量嵌套数组的 json 对象中的特定值?

javascript - 再次点击按钮后如何显示警报?