打开/关闭菜单
Toggle preferences menu
打开/关闭个人菜单
未登录
未登录用户的IP地址会在进行任意编辑后公开展示。

MediaWiki:Gadget-collapsed.js:修订间差异

MediaWiki界面页面
无编辑摘要
无编辑摘要
第1行: 第1行:
function bindCollpase() {
function bindCollpase() {
     $('.collpased-container').each(function () {
     $('.collpased-container').each(function (i,v) {
         $(this).children('.collpased-head').after('<a href="#" class="collpased-a">▼点击展开▼</a>')
         $(this).attr('id','collapsed-'+i)
         $(this).children('.collpased-a').bind('click',{t:$(this)},function (event) {
         $(this).bind('click',function(){
            toggleCollapse(event.data.t)
        toggleCollapse('#collapsed-'+i)
         })
         })
     })
     })
第64行: 第64行:
     }
     }
}
}
function toggleCollapse(obj){
function toggleCollapse(selector, openSpeed, closeSpeed){
     var temp = $('<div class="collpased-temp"></div>')
     openSpeed = openSpeed !== undefined ? openSpeed : 'fast'
    temp.html(obj.children('.collpased-content').html())
     closeSpeed = closeSpeed !== undefined ? closeSpeed : 'fast'
     temp.css('display','none')
     var defaultHeight = $('.data-folded').height()
    temp.appendTo(obj)
     var paddingHeight = 10
     var defHeight = $('.collpased-temp').height()
     var targetHeight = defaultHeight + paddingHeight + selector.children('.single-data-container').height()
     var slideHeight = 0;
     var currentHeight = selector.height()
     var curHeight = obj.children('.collpased-content').height();
     if(defaultHeight === currentHeight){
     var move = 3+obj.children('.collpased-head').height()/2
         selector.animate({
    console.log(curHeight)
            height: targetHeight
     if(curHeight===slideHeight){
         }, openSpeed,function () {
         obj.addClass('blue-border')
            selector.removeClass('data-folded')
        obj.children('.collpased-a').css('display','none')
             selector.css('height','auto')
        // obj.children('.collpased-head').animate({
         });
        //    top: '-='+move+'px',
 
         // }, "normal");
        obj.children('.collpased-content').animate({
             height: defHeight
        }, "normal");
        obj.children('.collpased-a').html('▲点击收起▲');
         obj.children('.collpased-a').fadeIn('fast')
     }else {
     }else {
         obj.children('.collpased-a').css('display','none')
         selector.animate({
        obj.removeClass('blue-border')
             height: defaultHeight
        // obj.children('.collpased-head').animate({
         }, closeSpeed);
        //    top: '+='+move+'px',
         selector.addClass('data-folded')
        //    border: '1px solid red'
        // }, "normal");
        obj.children('.collpased-content').animate({
             height: slideHeight
         }, "normal");
         obj.children('.collpased-a').html('▼点击展开▼');
        obj.children('.collpased-a').fadeIn('fast')
     }
     }
    $('.collpased-temp').remove()
}
}



2023年2月10日 (五) 18:18的版本

function bindCollpase() {
    $('.collpased-container').each(function (i,v) {
        $(this).attr('id','collapsed-'+i)
        $(this).bind('click',function(){
        	toggleCollapse('#collapsed-'+i)
        })
    })
}
function openAllCollapse(){
    $('.collpased-container').each(function () {
        openCollapse($(this))
    })
}
function openCollapse(obj){
    var temp = $('<div class="collpased-temp"></div>')
    temp.html(obj.children('.collpased-content').html())
    temp.css('display','none')
    temp.appendTo(obj)
    var defHeight = $('.collpased-temp').height()
    var slideHeight = 0;
    var curHeight = obj.children('.collpased-content').height();
    var move = 3+obj.children('.collpased-head').height()/2
    console.log(curHeight)
    if(curHeight===slideHeight){
        obj.addClass('blue-border')
        obj.children('.collpased-a').css('display','none')
        // obj.children('.collpased-head').animate({
        //     top: '-='+move+'px',
        // }, "normal");
        obj.children('.collpased-content').animate({
            height: defHeight
        }, "normal");
        obj.children('.collpased-a').html('▲点击收起▲');
        obj.children('.collpased-a').fadeIn('fast')
    }
}
function closeAllCollapse(){
    $('.collpased-container').each(function () {
        closeCollapse($(this))
    })
}
function closeCollapse(obj){
    var temp = $('<div class="collpased-temp"></div>')
    temp.html(obj.children('.collpased-content').html())
    temp.css('display','none')
    temp.appendTo(obj)
    var defHeight = $('.collpased-temp').height()
    var slideHeight = 0;
    var curHeight = obj.children('.collpased-content').height();
    var move = 3+obj.children('.collpased-head').height()/2
    console.log(curHeight)
    if(curHeight!==slideHeight){
        obj.children('.collpased-a').css('display','none')
        obj.removeClass('blue-border')
        // obj.children('.collpased-head').animate({
        //     top: '+='+move+'px',
        //     border: '1px solid red'
        // }, "normal");
        obj.children('.collpased-content').animate({
            height: slideHeight
        }, "normal");
        obj.children('.collpased-a').html('▼点击展开▼');
        obj.children('.collpased-a').fadeIn('fast')
    }
}
function toggleCollapse(selector, openSpeed, closeSpeed){
    openSpeed = openSpeed !== undefined ? openSpeed : 'fast'
    closeSpeed = closeSpeed !== undefined ? closeSpeed : 'fast'
    var defaultHeight = $('.data-folded').height()
    var paddingHeight = 10
    var targetHeight = defaultHeight + paddingHeight + selector.children('.single-data-container').height()
    var currentHeight = selector.height()
    if(defaultHeight === currentHeight){
        selector.animate({
            height: targetHeight
        }, openSpeed,function () {
            selector.removeClass('data-folded')
            selector.css('height','auto')
        });

    }else {
        selector.animate({
            height: defaultHeight
        }, closeSpeed);
        selector.addClass('data-folded')
    }
}

function tollgeAllCo(){
    $('.collpased-a').each(function () {
        $(this).click()
    })
}
bindCollpase()